@ Грэм Кларк: Containsпредполагается, что вы повторяете файл ICollection<T>. Anyбудет работать со всем, что имеет тип IEnumerable<T>, и в этом случае вопрос явно не указывает, какой тип коллекции он выполняет итерацию ( Listхотя a - довольно справедливое предположение).
R0MANARMY
32
foreach(var item in listOfItems){if(condition_is_met)// Any processing you may need to complete here...break;// return true; also works if you're looking to// completely exit this function.}
Должен сделать свое дело. Оператор break просто завершит выполнение цикла, а оператор return, очевидно, завершит всю функцию. Судя по вашему вопросу, вы можете использовать return true; заявление.
Это не прямой ответ на ваш вопрос, но есть гораздо более простой способ сделать то, что вы хотите. Если вы используете .NET 3.5 или новее, по крайней мере. Он называется Enumerable.Contains.
Совершенно уверен, что $это неверный синтаксис C #.
R0MANARMY
вероятно, нет, я парень javascript / php. но здесь достаточно кода, чтобы применить рабочее решение ... я удалил $ и добавил var .. вероятно, все еще не c +
johnny craig
на самом деле varэто совершенно правильное ключевое слово C #, так что вы в порядке
return "ok" in sList:
- разве нет чего-то сопоставимого в C #?Ответы:
В качестве альтернативы, если вам нужно сделать что-то еще после того, как вы нашли предмет:
источник
bool found = callFunctionInFirstCodeSnipper(list); // do stuff
Используйте,
break;
и это выйдет из цикла foreachисточник
Вы можете избежать явных циклов, выбрав маршрут LINQ:
источник
Contains("ok")
.Contains
предполагается, что вы повторяете файлICollection<T>
.Any
будет работать со всем, что имеет типIEnumerable<T>
, и в этом случае вопрос явно не указывает, какой тип коллекции он выполняет итерацию (List
хотя a - довольно справедливое предположение).Должен сделать свое дело. Оператор break просто завершит выполнение цикла, а оператор return, очевидно, завершит всю функцию. Судя по вашему вопросу, вы можете использовать return true; заявление.
источник
Вы можете использовать,
break
который выпрыгивает из ближайшего охватывающего цикла, или вы можете простоreturn true
источник
Используйте оператор break. Мне смешно, что ответ на ваш вопрос буквально находится в вашем вопросе! Кстати, ответ мог бы дать простой поиск в Google.
источник
как насчет:
Это должно помочь, если все, что вы хотите сделать, это проверить наличие «ок» и вернуть ответ ...
источник
Это не прямой ответ на ваш вопрос, но есть гораздо более простой способ сделать то, что вы хотите. Если вы используете .NET 3.5 или новее, по крайней мере. Он называется Enumerable.Contains.
источник
источник
Либо вернитесь прямо из цикла:
Или используйте
break
:Однако в вашем случае может быть лучше сделать что-то вроде этого:
источник
источник
$
это неверный синтаксис C #.var
это совершенно правильное ключевое слово C #, так что вы в порядке