Linq. Как Написать Select чтобы он брал все элементы массива

349
25 апреля 2017, 05:10

Есть

d = System.IO.File.ReadAllLines(filename)
                .Select(str => str.Split(new[] { ' ', '\t' }))
                .Select(str => str[0])
                .Select(str => Convert.ToDouble(str.Replace('.', ',')))
                .ToArray();

Что написать вместо .Select(str => str[0]), чтобы я обработал все элементы массива?

Answer 1

Необходимо использовать метод расширения SelectMany вместо Select:

d = System.IO.File.ReadAllLines(filename)
                .SelectMany(str => str.Split(new[] { ' ', '\t' }))
                .Select(str => Convert.ToDouble(str.Replace('.', ',')))
                .ToArray();

Подробнее об отличиях между Select и SelectMany.

READ ALSO
Переделать код с C++ под C#

Переделать код с C++ под C#

Собственно говоря, простейшая задача на создание односвязного списка, с перегрузкой оператора в функциях - добавление в начало списка, удаление...

381
Библиотека JS методов для Awesomium

Библиотека JS методов для Awesomium

Нужно реализовать ряд методов, взаимодействующих с веб-страницей на JS для выполнения в Awesomium, такие как найти элемент на странице по XPath, кликнуть...

389
DispatcherTimer первый вызов Tick сразу при старте C#

DispatcherTimer первый вызов Tick сразу при старте C#

Как сделать, чтобы при запуске таймера он сразу выполнил код в прикрепленном методе, а не дожидаться отсчета интервала

298
ASP.NET MVC: Коллекция в модели, как заполнять?

ASP.NET MVC: Коллекция в модели, как заполнять?

Помогите разобратьсяСгенерировал crud контроллер

561