我有一个方法,我想使用out参数。但是我错过了一些我找不到的东西。我有 3 个参数,首先是长 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)
使用 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 = "";
workerTitle = "";
}
然后这样称呼它
long workerID = 0;
string workerTitle;
string workerName;
GetWorkerInfo(workerID, out workerName, out workerTitle);
此错误是因为您没有为指定为 out 参数的参数分配任何值。请记住,您应该在方法主体中为这些参数分配一些值。
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
}
现在,您可以看到代码编译没有任何问题。