正在尝试将方法调用为主方法,我该如何编写它以便不显示错误?
它的主要目的是提示用户输入姓名和年龄,我试图将该方法置于主要方法之下,但它不起作用。
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");
}
}
}
我希望在编译程序时询问姓名和年龄然后输出 “您好,”为您的“年龄”命名”。 其中“名称”和“年龄”是用户输入的值
答案 0 :(得分:1)
进行了一些更改,根据建议,它确实有效 命名空间方法 { 班级计划 { 静态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();
}
}
}
答案 1 :(得分:0)
这是我重做的方式,现在可以正常使用了
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();
}
}
}
答案 2 :(得分:0)
主要错误是您将实际参数列表与形式参数列表混淆。形式参数包含有关参数类型的信息,而实际参数则是变量或表达式。
例如,函数 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() );
}
}
您可以深入了解parameter passing in the MSDN。
希望这会有所帮助。