拆分LINQ字符串列表

inq*_*one 0 c# linq split linq-to-sql

我相信这对你来说可能是另一个简单的LINQ大师.

我有一个表格,其中包含由"#"分隔的字符串.在使用LINQ选择字段后,如何将每个字符串拆分为不同的列表?我的字符串列表如下所示:

#A#B#C#D#G#F
Run Code Online (Sandbox Code Playgroud)

我用一个简单的LINQ查询来访问它:

from x in Special_texts
where x.Name.Equals("ExceptionList")
select x.Content
Run Code Online (Sandbox Code Playgroud)

最后,我的列表应包含:

A
B
C
D
G
F
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Bro*_*ass 6

假设你想要一个单一列表作为输出:

var list = Special_texts.Where(x=> x.Name.Equals("ExceptionList"))
                        .Select(x=> x.Content)
                        .AsEnumerable()
                        .Select(x=> x.Split(new [] {'#'}, StringSplitOptions.RemoveEmptyEntries))
                        .SelectMany(x=> x)
                        .ToList();
Run Code Online (Sandbox Code Playgroud)

或者,如果您想要一个列表列表(每个项目一个Special_texts):

var list = Special_texts.Where(x=> x.Name.Equals("ExceptionList"))
                        .Select(x=> x.Content)
                        .AsEnumerable() 
                        .Select(x=> x.Split(new [] {'#'}, StringSplitOptions.RemoveEmptyEntries).ToList())
                        .ToList();
Run Code Online (Sandbox Code Playgroud)