Одна из замечательных особенностей LINQ заключается в том, что вы можете получать информацию, относящуюся к коллекции, без необходимости вручную писать код для перебора коллекции. Есть ли способ использовать LINQ для заполнения коллекции, что позволяет избежать необходимости писать цикл?
Например, допустим, у меня есть следующий код, который работает с диапазоном чисел от одного до десяти:
public static void LinqTest()
{
List<int> intList = new List<int>();
for (int i = 1; i <= 10; i++) // <==== I'm having to use a for loop
intList.Add(i); // here to populate the List.
int intSum = intList.Sum();
int intSumOdds = intList.Where(x => x % 2 == 1).Sum();
double intAverage = intList.Average();
Console.WriteLine("Sum is {0}\tSum of Odds is {1}\tAverage is {2}",
intSum, intSumOdds, intAverage);
}
LINQ уже заменяет циклы for
, которые потребуются для извлечения информации о данных. Мне любопытно, что LINQ можно использовать для замены цикла for
, который заполняет данные . Есть ли способ использовать LINQ для замены следующих двух строк кода?
for (int i = 1; i <= 10; i++)
intList.Add(i);