![](/img/trans.png)
[英]How do I fix the error I have when trying to call the method that contain KeyEventArgs e as argument
[英]How do i fix this error when calling my Method?
我正在嘗試調用一個方法到main方法,如何編寫它以便不顯示錯誤?
它的主要目的是提示用戶輸入名稱和年齡,我試圖將方法置於主要方法下,但它不起作用。
namespace Methodss
{
class Program
{
static void Main(string[] args)
{
SayHi(String Name, int Age)
}
static void SayHi(String Name, int Age)
{
Name = Console.ReadLine();
Console.WriteLine("Enter Your Name");
Console.ReadKey();
Age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter Your Age");
Console.ReadKey();
Console.ReadLine();
Console.WriteLine("Hello User"+Name+"you are"+ Age+" Years old");
}
}
}
我希望在編譯程序時詢問姓名和年齡,然后輸出“您好,“姓名”,您的“年齡”年齡”。 其中“名稱”和“年齡”是用戶輸入的值
根據建議進行了一些更改,使其在名稱空間中起作用。方法{類Program {靜態void Main(string [] args)
{
SayHi();
}
static void SayHi()
{
Console.WriteLine("Enter Your Name");
var name=Console.ReadLine();
Console.WriteLine("Enter Your Age");
int age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Hello \t" + name + " you are " + age + " Years old");
Console.ReadLine();
}
}
}
這是我重做的方式,現在可以正常使用了
namespace Methodss
{
class Program
{
static void Main(string[] args)
{
SayHi();
}
static void SayHi()
{
Console.WriteLine("Enter Your Name");
var name=Console.ReadLine();
Console.WriteLine("Enter Your Age");
int age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Hello "+"\t" + name + " "+"you are"+" " + age + " "+" Years old");
Console.ReadLine();
}
}
}
主要錯誤是您將實際參數列表與形式參數列表混淆。 形式參數包含有關參數類型的信息,而實際參數是變量或表達式。
例如,函數MultiplyBy2()具有形式為double的形式參數,但可以使用表達式或變量來調用。
class Main {
static double MultiplyBy2(double x)
{
return 2 * x;
}
static void Main(String[] args)
{
int x = 5;
Console.WriteLine( MultiplyBy2( 6 ) ); // 12
Console.WriteLine( MultiplyBy2( x ) ); // 10
}
}
另外,您似乎對返回名稱和年齡感興趣,而不是實際通過它們。 我的猜測是,您將從SayHi()獲取名稱和年齡,並實際上從Main()打招呼。
返回多個值並非易事,因此我們可以用out表示將使用SayHi()函數中設置的值修改這些變量。
這也意味着SayHi()不是該函數的適當名稱。 讓我們來看看AskPersonalData() 。
class Program
{
static void Main(string[] args)
{
string name;
int age;
AskPersonalData( out name, out age );
Console.WriteLine( "Hello User" + name + "you are" + age + " Years old" );
}
static void AskPersonalData(out string name, out int age)
{
Console.Write( "Enter Your Name: " );
name = Console.ReadLine();
Console.Write( "Enter Your Age: " );
age = Convert.ToInt32( Console.ReadLine() );
}
}
您可以深入了解MSDN中的參數傳遞 。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.