Здравствуйте, GlebZ, Вы писали:
GZ>Примеры использования энумератора.
GZ>GZ>public class Helper
GZ>{
GZ> //Для прохода через step
GZ> public static IEnumerable<T> GetEnumeratorWithStep(IList list, int step)
GZ> {
GZ> for (int i=0;i<list.Count;i+=step)
GZ> yield return list[i];
GZ> }
GZ> //Для прохода в обратном порядке.
GZ> public static IEnumerable<T> Reverse(IList list)
GZ> {
GZ> for (int i=list.Count-1;i>=0;i--)
GZ> yield return list[i];
GZ> }
GZ>}
GZ>
GZ>public class Helper
GZ>{
GZ> public static void ForEach(IEnumerable<T> enumer, Action<T> action)
GZ> {
GZ> foreach(T t in enumer)
GZ> action(t)
GZ> }
GZ>}
GZ>//использование для задачи с гридом
GZ>Helper.ForEach<DataGridViewRow>(Helper.GetEnumeratorWithStep<DataGridViewRow>(myGrid.Rows, 2), delegate(DataGridRow i){row.Color=Color.Green;});
GZ>[/c#]
Кошмар!
И внутри каждого всёравно тот же for...