Как выйти из цикла List <string>.ForEach при использовании анонимного делегата? - PullRequest
34 голосов
/ 17 февраля 2009

В нормальном цикле вы можете выйти из цикла, используя break. Можно ли сделать то же самое с помощью анонимного делегата?

Пример inputString и результат оба объявлены вне делегата.

blackList.ForEach(new Action<string>(
    delegate(string item)
    {
        if(inputString.Contains(item)==true)
        {
            result = true;
            // I want to break here
        }
    }
));

Edit: Спасибо за ответы, я на самом деле читаю вашу книгу в тот момент, Джон :) Просто для записи, я затронул эту проблему и переключился на обычный цикл foreach, но я опубликовал этот вопрос, чтобы посмотреть, пропустил ли я что-то.

Ответы [ 11 ]

0 голосов
/ 04 апреля 2012

Будет ли это работать для вас:

bool result = null != blackList.Find( item => inputString.Contains(item)) );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...