Язык программирования C#9 и платформа .NET5
Шрифт:
Результат выглядит вполне ожидаемо:
Возвращение результатов LINQ посредством немедленного выполнения
Рассмотренный пример работает ожидаемым образом только потому, что возвращаемое значение
Поскольку оперировать с типом
В таком случае вызывающий код совершенно не знает, что полученный им результат поступил от запроса LINQ, и просто работает с массивом строк вполне ожидаемым образом. Вот пример:
Немедленное выполнение также важно при попытке возвратить вызывающему коду результаты проецирования LINQ. Мы исследуем эту тему чуть позже в главе. А сейчас давайте посмотрим, как применять запросы LINQ к обобщенным и
необобщенным объектам коллекций.Применение запросов LINQ к объектам коллекций
Помимо извлечения результатов из простого массива данных выражения запросов LINQ могут также манипулировать данными внутри классов из пространства имен
Теперь определите внутри операторов верхнего уровня локальную переменную типа
Доступ к содержащимся в контейнере подобъектам
Применение запроса LINQ к обобщенному контейнеру ничем не отличается от такого же действия в отношении простого массива, потому что LINQ to Objects может использоваться с любым типом, реализующим интерфейс
После получения подмножества на консоль будет выведено имя каждого объекта
- Telegram
- Viber
- Skype
- ВКонтакте