Добрый день. Подскажите, пожалуйста, в чем у меня косяк?
Вот что делает метод: принимает 2 строки (str1 - строка, str2 - путь к файлу), сравнивает их и возвращает true, если строки идентичны, и false, если различны. ArrayList - метод, возвращающий сортированный массив значений.
foreach - сравнивает переданную строку с каждым элементом массивом. Если совпадение найдено, то присваиваем переменной boolValue значение true и выходим из цикла, а если совпадений нет, то задаем false.
Ругается на строку return boolValue; "Использование переменной не присвоено значение".
Можно ли возвращать сразу true или false в foreach'e и если да, то как? А то таким образом говорят, что не все ветви кода возвращают значение.
Вот что делает метод: принимает 2 строки (str1 - строка, str2 - путь к файлу), сравнивает их и возвращает true, если строки идентичны, и false, если различны. ArrayList - метод, возвращающий сортированный массив значений.
foreach - сравнивает переданную строку с каждым элементом массивом. Если совпадение найдено, то присваиваем переменной boolValue значение true и выходим из цикла, а если совпадений нет, то задаем false.
Ругается на строку return boolValue; "Использование переменной не присвоено значение".
Код:
public bool SearchArtistInList(string str1, string str2)
{
string[] List = ArrayList(str2);
bool boolValue;
foreach (string strFromList in List)
{
if (String.Equals(str1, strFromList, StringComparison.OrdinalIgnoreCase))
{
boolValue = true;
break;
}
else { boolValue = false; }
}
return boolValue;
}
Можно ли возвращать сразу true или false в foreach'e и если да, то как? А то таким образом говорят, что не все ветви кода возвращают значение.
Код:
if (String.Equals(artistName, artistNameFromList, StringComparison.OrdinalIgnoreCase))
{
return true;
break;
}
else
{
return false;
}