например, скажем, я хочу сделать что-то вроде этого:
bool foo(List<strings> stringList, int counter)//assume this list has, like, 10 elements, and counter=3, idk
{
bool found= false;
for(int i=0; i<stringlist.Count && !found; i++)
{
if(stringlist[i].length < 2 || counter >=6)
found=true;
counter++;
}
return found
}
Теперь, это равносильно этому:
bool foo(List<strings> stringList, int counter)//assume this list has, like, 10 elements, and counter=3, idk
{
bool found= false;
foreach(string s in stringlist.Takewhile(x=> (!found)))
{
if(s.length < 2 || counter >=6)
found=true;
counter++;
}
return found
}
Этот второй пример ведет себя как первый, или он всегда пропускает весь цикл? Как продолжение, если я все еще хочу использовать foreach, действительно ли я должен использовать разрыв, чтобы обойти это? Кроме того, извините, если я сделал что-то глупое в этих примерах, я пытаюсь упростить версию алгоритма поиска пути, который я пишу, и это был самый простой пример, который я мог придумать, чтобы задать этот вопрос ...