Looking for c# Keywords? Try Ask4Keywords

C# Language Стиль петли


пример

В то время как

Самый тривиальный тип цикла. Единственный недостаток - нет никакой внутренней подсказки, чтобы знать, где вы находитесь в цикле.

/// loop while the condition satisfies
while(condition)
{
    /// do something
}

Делать

Подобно while , но условие оценивается в конце цикла вместо начала. Это приводит к выполнению циклов хотя бы один раз.

do
{
    /// do something
} while(condition) /// loop while the condition satisfies

За

Еще один тривиальный стиль цикла. Цикл индекса ( i ) увеличивается, и вы можете его использовать. Он обычно используется для обработки массивов.

for ( int i = 0; i < array.Count; i++ )
{
    var currentItem = array[i];
    /// do something with "currentItem"
}

Для каждого

Модернизированный способ петли через IEnumarable объекты. Хорошо, что вам не нужно думать об индексе элемента или о количестве элементов списка.

foreach ( var item in someList )
{
    /// do something with "item"
}

Метод Foreach

В то время как другие стили используются для выбора или обновления элементов в коллекциях, этот стиль обычно используется для вызова метода сразу для всех элементов в коллекции.

list.ForEach(item => item.DoSomething());

// or
list.ForEach(item => DoSomething(item));

// or using a method group
list.ForEach(Console.WriteLine);

// using an array
Array.ForEach(myArray, Console.WriteLine);

Важно отметить, что этот метод доступен только в экземплярах List<T> и как статический метод для Array - он не является частью Linq.

Linq Parallel Foreach

Точно так же, как Linq Foreach, за исключением того, что эта задача выполняется параллельно. Это означает, что все элементы в коллекции будут одновременно выполнять задание одновременно.

collection.AsParallel().ForAll(item => item.DoSomething());

/// or
collection.AsParallel().ForAll(item => DoSomething(item));