在深入阅读 C# 中有关它的部分后,我一直在研究 C# 中的 out
关键字。我似乎找不到一个例子来说明为什么需要关键字而不是仅仅分配 return 语句的值。例如:
public void Function1(int input, out int output)
{
output = input * 5;
}
public int Function2(int input)
{
return input * 5;
}
...
int i;
int j;
Function1(5, out i);
j = Function2(5);
现在 i 和 j 具有相同的值。仅仅是为了方便不用 =
符号就可以进行初始化,还是有一些我没有看到的其他派生值?我看到一些类似的答案提到它将初始化的责任转移给被调用者 here .但是所有这些额外的东西而不是仅仅分配一个返回值并且没有一个无效的方法签名?
最佳答案
通常 out 用于返回其他内容的方法,但您仍然需要从该方法中获取不同的值。
一个很好的例子是 Int32.TryParse(input, out myVar)
如果成功则返回 true,否则返回 false。您可以通过 out 参数获取转换后的 int。
int myOutVar;
if (Int32.TryParse("2", out myOutVar))
{
//do something with the int
}else{
//Parsing failed, show a message
}
关于c# - 为什么在 C# 中使用 out 关键字而不是赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5862163/