[英]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.