涉及函数的基本 C# 程序不起作用
Basic C# Program Involving functions not working
我是 C# 的初学者,正在创建一个带有函数的程序,但不幸的是,我很困惑如何 return 将函数中的值传递给主程序。
我已经研究过其他类似的问题,但我找不到答案,因为它非常基础。
class Program
{
public int answer = 0;
public int column = 0;
public int UserInput;
static void Main(string[] args)
{
BinaryInput(int UserInput);
Console.WriteLine(UserInput);
}
static int BinaryInput (ref int UserInput)
{
UserInput = int.Parse(Console.ReadLine());
return UserInput;
}
}
}
对同一事物同时使用 return 值和 ref 参数是完全没有必要的。
只需选择这样的方法:
static int GetBinaryInput()
{
return int.Parse(Console.ReadLine());
}
static void Main(string[] args)
{
int UserInput = GetBinaryInput();
Console.WriteLine(UserInput);
}
或者那样,这里更喜欢 out
:
static void GetBinaryInput(out int UserInput)
{
UserInput = int.Parse(Console.ReadLine());
}
static void Main(string[] args)
{
GetBinaryInput(out var UserInput);
Console.WriteLine(UserInput);
}
使用参考:
static void GetBinaryInput(ref int UserInput)
{
UserInput = int.Parse(Console.ReadLine());
}
static void Main(string[] args)
{
int UserInput = 0;
GetBinaryInput(ref UserInput);
Console.WriteLine(UserInput);
}
对于所讨论的案例,第一个更传统、更干净。
使用所有方法都可以访问的实例变量UserInput
也是没用的,因为这是方法交互之间的参数,否则就是这个没用
也更喜欢 TryParse 来控制错误,否则使用异常处理。
What's the difference between the 'ref' and 'out' keywords?
When to use in vs ref vs out
Best practice: ref parameter or return value?
Which is better, return value or out parameter?
如果您要 return 一个值,您也需要正确类型的变量才能 return 它,例如:
static void Main(string[] args)
{
int output = BinaryInput();
Console.WriteLine(output);
}
static int BinaryInput()
{
UserInput = int.Parse(Console.ReadLine());
return UserInput;
}
我是 C# 的初学者,正在创建一个带有函数的程序,但不幸的是,我很困惑如何 return 将函数中的值传递给主程序。
我已经研究过其他类似的问题,但我找不到答案,因为它非常基础。
class Program
{
public int answer = 0;
public int column = 0;
public int UserInput;
static void Main(string[] args)
{
BinaryInput(int UserInput);
Console.WriteLine(UserInput);
}
static int BinaryInput (ref int UserInput)
{
UserInput = int.Parse(Console.ReadLine());
return UserInput;
}
}
}
对同一事物同时使用 return 值和 ref 参数是完全没有必要的。
只需选择这样的方法:
static int GetBinaryInput()
{
return int.Parse(Console.ReadLine());
}
static void Main(string[] args)
{
int UserInput = GetBinaryInput();
Console.WriteLine(UserInput);
}
或者那样,这里更喜欢 out
:
static void GetBinaryInput(out int UserInput)
{
UserInput = int.Parse(Console.ReadLine());
}
static void Main(string[] args)
{
GetBinaryInput(out var UserInput);
Console.WriteLine(UserInput);
}
使用参考:
static void GetBinaryInput(ref int UserInput)
{
UserInput = int.Parse(Console.ReadLine());
}
static void Main(string[] args)
{
int UserInput = 0;
GetBinaryInput(ref UserInput);
Console.WriteLine(UserInput);
}
对于所讨论的案例,第一个更传统、更干净。
使用所有方法都可以访问的实例变量UserInput
也是没用的,因为这是方法交互之间的参数,否则就是这个没用
也更喜欢 TryParse 来控制错误,否则使用异常处理。
What's the difference between the 'ref' and 'out' keywords?
When to use in vs ref vs out
Best practice: ref parameter or return value?
Which is better, return value or out parameter?
如果您要 return 一个值,您也需要正确类型的变量才能 return 它,例如:
static void Main(string[] args)
{
int output = BinaryInput();
Console.WriteLine(output);
}
static int BinaryInput()
{
UserInput = int.Parse(Console.ReadLine());
return UserInput;
}