无效参数 "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
}
现在您可以看到代码编译没有任何问题。
我有一个方法,我想使用 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
}
现在您可以看到代码编译没有任何问题。