我在C#中編程,我不斷收到我的字符串變量result
錯誤。你是否必須在方法內部初始化一個字符串變量?
當我將鼠標懸停在行return result
上時,它表示使用未分配的本地變量。
在使用它之前,我必須給結果賦值嗎?我怎樣才能在SqlDataReader
閱讀器上得到相同的錯誤?
string searchbyLastName(string lastname)
{
string result;
SqlDataReader reader;
try
{
reader = myCommand.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
if (reader["LastName"].ToString() == lastname)
{
result = reader.GetString(0);
break;
}
}
return result;
}
else
return "No results found";
}
catch (Exception)
{
return("Database Error");
}
}
不好的做法。使用var result = String.Empty; – 2014-10-03 04:11:09
@DanHunex:不,謝謝你,請解釋你爲什麼認爲這是一種「壞習慣」。由於字符串實習,在一段時間內沒有任何實際的語義差異。你只喜歡打字嗎? – 2014-10-03 04:12:33
爲什麼你認爲String.IsNullOrWhitespace被添加?因爲人們有時會寫「」而不是「」。但是String.Empty總是保證它是空的 – 2014-10-03 04:17:31