Linq: разделить содержимое строкового столбца и добавить его в массив, возвращаемый функцией Select (o => o.ColumnName) - PullRequest
1 голос
/ 29 июня 2011

Столбец базы данных содержит следующие значения
SampleColumnValues<br> T1<br> T2<br> T3,T4<br> T5,T6<br> T7<br> T8

Когда я пытаюсь прочитать эти значения, вполне возможно, используя метод IQueryable.Select (), чтобы получить этот конкретный столбец из БД и преобразовать его в массив с помощью ToArray (). Но мне также нужны значения с разделителями-запятыми в первоначально возвращенном массиве как отдельные элементы массива.

Пока у меня есть отдельный метод для дополнительного разделения.
Могу ли я добиться того же с доступными методами?

Результирующий массив, который мне нужен, должен выглядеть так: {T1, T2, T3, T4, T5, T6, T7, T8}

Ответы [ 2 ]

2 голосов
/ 29 июня 2011
string[] input = new string[] { "T1", "T2", "T3,T4", "T5,T6", "T7", "T8" };

string[] output = input.SelectMany(item => item.Split(',')).ToArray();
0 голосов
/ 29 июня 2011

Это можно сделать с помощью функции Aggregate ...
...Select(o => o.ColumnName).Aggregate((w, n) => w + "," + n).Split(',');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...