Как получить поток из List(а)?
В JAVA можно получить поток из различных объектов, например можно получить поток из List
list.stream() чтобы в последствии использовать фильтры и т.п (подробнее тут https://annimon.com/article/2778)
Вопрос, а можно реализовать такое на C#?
Ответы (1 шт):
Автор решения: VladD
→ Ссылка
Аналог функции stream() не нужен.
В отличие от Java, где коллекции не реализуют базовый интерфейс Stream<E>, и его приходится получать при помощи функции stream(), в C# коллекции напрямую реализуют аналогичный интерфейс IEnumerable<T> (то есть как бы сами являются stream'ами).
Пример:
Java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, -1);
int sum = list.stream().mapToInt(Integer::intValue).filter(n -> n >= 0).sum();
System.out.println(sum);
C#
List<int> list = new() { 1, 2, 3, 4, 5, -1 };
int sum = list.Where(n => n >= 0).Sum();
Console.WriteLine(sum);