我有一个函数,它使用 out 参数将多个值返回给调用者。我想在函数中初始化它们,但我不确定这是否是个坏主意,因为您不知道何时调用函数它会立即更改值。调用者可能会假设在函数返回后,如果它正在做的任何事情都不起作用,那么这些值将是它们在调用者中初始化的值。
我可以在函数中初始化吗?
例子:
public static void SomeFunction(int ixID, out string sSomething)
{
sSomething = "";
sSomething = something(ixID);
if (sSomething = "")
{
somethingelse();
sSomething = "bar"
}
}
最佳答案
是的 - 对于输出参数,您必须在返回之前分配它。
Although variables passed as an out arguments need not be initialized prior to being passed, the calling method is required to assign a value before the method returns.
虽然您不需要在函数的最顶部将它们初始化为空值。当您知道这些值时,您可以分配这些值。在您的示例中,不需要第一行,因为您在第二行中分配给 out 参数。
关于c# - 在函数中使用输出参数时,在函数中初始化它们是好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2412242/