公共静态int Add(int param1) { bool isFound = false;
for (int subscript = 0; subscript < itemArray.Length; subscript++)
{
if (param1 != itemArray[subscript] && isFound==false && itemArray[subscript]==-1)
{
itemArray[subscript] = itemArray[subscript] + param1;
isFound = true;
subscript = itemArray.Length;
}
}
if (isFound == false)
return param1 = -2;
else
return param1 = -1;
}
//第一个返回参数的代码在上面
开关(选项)
{
情况“ A”:
如果(== 0)
Console.WriteLine(“成功,未找到重复项”);
其他
Console.WriteLine(“失败,数组已满”);
打破;
默认:
打破;
}
//上面的第二个代码。我如何在该if语句中使用返回的值
答案 0 :(得分:1)
我会尽力帮助解决这个问题。首先,我将尝试重述该问题并分析您的代码。其次,我将提供一个或两个答案。
private static int Add(int param1)
然后在开关中使用它
switch(option)
{
case "A":
if(/*numFromAdd*/ == 0)
//true do thing
else
//false do other thing
}
希望我能正确理解你。
1,您可以将Add方法更改为如下所示:
private static int Add(int param1, out int param2);
然后按如下所示调用函数:
int oParam = 0;
int rtnFromAdd = Add(0, out oParam2);
这将执行两件事:1您将以正常函数的形式返回int,但是您还可以将oParam设置为函数中所需的值。这是通过引用传递的,您正在更改要在以后使用的函数中的外部变量。
然后将oParam2
变量放入if
语句中。
您也许可以直接在if
语句中使用该方法。我不确定是否可以通过这种方式使用静态函数,但是值得一试:
更新:您可以在切换之前调用Add函数以获取值
int outputOfAdd = Add(param1);//ensure that param1 is the variable you want to check
switch(option)
{
case "A":
if(outputOfAdd == 0)
//True do thing
else
//False do other thing
}
希望这对您有帮助