Я программирую на 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; –
@ DanHunex: Нет, спасибо, объясните, почему вы считаете это «плохой практикой». В течение некоторого времени из-за прерывания строки не было какой-либо фактической семантической разницы. Вам просто нравится набирать текст? –
Почему вы думаете, что добавлено String.IsNullOrWhitespace? Потому что люди иногда пишут «» вместо «». Но String.Empty всегда гарантирует, что он пуст –