Можно ли использовать Linq и lambdas без включения пространства имен System.Linq?
Некоторое время назад ямы работали над довольно запутанным проектом - я мог написать код только в одной области видимости, и позже он был бы помещен в функцию C # (другим модулем).
Я мог использовать только те пространства имен, которые были объявлены ранее (я не имел на них никакого влияния), и мог использовать только переменные из области, в которой работал. Из-за этого я неВозможность изменения заголовков и включенных библиотек.
Проблема возникла, когда я захотел оперировать общими коллекциями - я не могне использовать ни лямбда-выражения, ни LINQ - я просто не былне в состоянии поставитьusing System.Linq;
, так как у меня не было доступа к заголовку файла.
Я должен был сделать только простую вещь, и было легко управлять без LINQ или лямбды. Однако после этого мне стало интересно, что произойдет, если мне придется использовать более сложные операции с IEnumerable. Отсюда и мой вопрос:
Можно ли использовать LINQ или lambdas без изменения заголовка файла и добавления новых пространств имен?
Позволять'говорят, что у нас естьList _Numbers = new List();
, Пусть он будет заполнен некоторыми числами. Теперь я хочу выбрать из нее все четные числа.
Сusing System.Linq;
в шапке решение очевидно:
List _NewList = _Numbers.Where(n => n % 2 == 0).ToList();
или же
List _NewList = (from _Number in _Numbers where _Number % 2 == 0 select _Number).ToList();
Но без LINQ, как я могу этого достичь? Моим первым предположением было бы что-то вроде:
List _NewList = System.Linq. // ??? What to add here?
Я знаю, что проблема довольно экзотическая, и этоочень необычно идти по этому пути, но яМне просто любопытно, и яМы не нашли никакой информации об этом деле.