C# 调用方法时如何修复此错误?
如果我试图将一个方法调用到main方法,如何编写它以使其不显示错误 它主要是提示用户输入姓名和年龄,我曾尝试将该方法置于main方法下,但它不起作用C# 调用方法时如何修复此错误?,c#,C#,如果我试图将一个方法调用到main方法,如何编写它以使其不显示错误 它主要是提示用户输入姓名和年龄,我曾尝试将该方法置于main方法下,但它不起作用 namespace Methodss { class Program { static void Main(string[] args) { SayHi(String Name, int Age) } static void SayHi(Stri
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");
}
}
}
我希望在编译程序时请求输入名称和年龄,然后输出
“你好”的名字“你的年龄”的年龄。
其中,Name和Age是用户输入的值,根据建议做了一些更改,它起了作用 名称空间方法 { 班级计划 { 静态void Main(字符串[]参数)
}这是我重做它的方式,它现在按预期工作
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()不是该函数的合适名称
你可以更深入地了解
希望这能有所帮助。我不清楚为什么在方法中有参数,当你要在方法中询问用户的姓名和年龄时。你在调用方法时不能提供这些值,因为你还没有这些值。
SayHi
的实现看起来像一个“按正确的顺序排列”游戏中,在调用ReadLine
2件可以使代码更清晰的事情之前,你必须请求name/age:声明并初始化同一行上的变量:string name=Console.ReadLine();
int age=Convert.ToInt32(Console.ReadLine())使用字符串插值:Console.WriteLine($“Hello\t{Name}你是{Age}岁”);
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
}
}
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() );
}
}