-3
錯誤所涉及的變量是行(32,17)上的一個數字,我該如何解決這個問題?C#錯誤:在控制離開當前方法之前必須將out參數分配給
using System;
class Calculation
{
public static void Main(string[] data)
{
double result = Convert.ToDouble(data[0]);
char op;
double number;
GetData(out op, out number);
while (op != 'q' && op != 'Q')
{
switch (op)
{
case '+':
result += number;
break;
case '-':
result -= number;
break;
case '*':
result *= number;
break;
case '/':
result /= number;
break;
}
Console.WriteLine("Result = " + result.ToString());
GetData(out op, out number);
}
}
static void GetData(out char anOperator, out double aNumber)
{
string line;
Console.Write("Enter an opertor and a number or 'q' to quit: ");
line = Console.ReadLine();
anOperator = Convert.ToChar(line.Substring(0, 1));
if (anOperator != 'q' && anOperator != 'Q')
aNumber = Convert.ToDouble(line.Substring(2));
}
}
'aNumber'不能保證分配。因爲它是一個'out'參數,所以你需要給它賦值。 –
@ IanR.O'Brien如果程序員沒有明確指定一個值,你知道爲什麼沒有爲它的類型賦予默認值嗎?似乎這對我來說是合乎邏輯的行爲。 – sab669
@ sab669 - 這是一個非常好而且不同的問題,在評論中太長而無法正確解釋。你應該發佈它或看看是否已經有答案。 –