无效参数 "out" 参数

Invalid Arguments "out" parameters

我有一个方法,我想使用 out 参数。但我错过了一些我找不到的东西。我有 3 个参数,首先是 long id,我正在发送该 ID 并正在处理它,我正在创建我的 workerName(第二个参数)和 workerTitle(第三个参数)。 我的方法是;

public static void GetWorkerInfo( long workerID, out string workerName, out string workerTitle)
{
   // Some code here
}

我在哪里调用我的方法;

GetWorkerInfo(workerID, out workerName, out workerTitle)
public static void GetWorkerInfo(long workerID, out string workerName, out string workerTitle)
{
   workerName = "";
   workerTitle = "";
}

然后这样称呼它

long workerID = 0;
string workerTitle;
string workerName;
GetWorkerInfo(workerID, out workerName, out workerTitle);

使用 C# 7,您将能够将输出参数声明为方法调用的一部分,如下所示:

GetWorkerInfo(workerID, out var workerName, out var workerTitle);

但是,在切换到 C# 7 之前,您必须在调用之外声明作为 out 参数传递的变量:

string workerName;
string workerTitle;
GetWorkerInfo(workerID, out workerName, out workerTitle);

错误是因为您没有为指定为输出参数的那些参数分配任何值。请记住,您应该为方法体内的那些参数分配一些值。

public static void GetWorkerInfo(long workerID, out string workerName, out string workerTitle)
{
   workerName = "Some value here";
   workerTitle = "Some value here also";
   // rest of code here
}

现在您可以看到代码编译没有任何问题。