我遇到了一個很大的問題。我的CreateArmy方法不斷返回錯誤:並非所有的代碼路徑都返回一個值。我敢肯定他們都返回一個值:C#不是所有的代碼路徑都返回一個值CreateArmy
public string CreateArmy(string inputFile)
{
string grabFile = inputFile + ".txt";
int counter = 0;
string line;
try
{
// Read the file and display it line by line.
StreamReader file = new StreamReader(grabFile);
while ((line = file.ReadLine()) != null)
{
char[] fixedCommands = line.Remove(0, 3).ToCharArray();
commands[0] = fixedCommands[0];
commands[1] = fixedCommands[1];
commands[2] = fixedCommands[2];
byte[] newline = Encoding.ASCII.GetBytes(Environment.NewLine);
commands[].Write(newline, 0, newline.Length);
counter++;
}
char[] newcommands = new string(commands).Remove(0, 3).ToCharArray();
file.Close();
MessageBox.Show("There are " + counter + " robots!");
}
catch (Exception e)
{
MessageBox.Show("Please tell me the .txt file type. Do not include the .txt extension.");
MessageBox.Show(e.Message);
}
}
你已經聲明該方法將返回一個字符串,但它沒有。你沒有一個'return'語句。顯示一個消息框與返回一個字符串不一樣。 –
代碼中沒有return語句,所以它不會返回任何內容。 – FloChanz
臭名昭着的回報會讓你陷入「空白」......或者......永遠不會返回的「空白」...... – terrybozzio