C#多维数组转化为数组

Luk*_*988 0 .net c# linq

我有["x3;s4;r4", "x2;s6;r7", ...]包含某种“多维”数据的字符串数组。我遵循 LINQ:

var fieldsArrays = data.Select(s => s.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries));
Run Code Online (Sandbox Code Playgroud)

此查询返回真正的多维数组[["x3", "s4", "r4"], [...]] 我需要将所有值选择到一个一维数组中:["x3", "s4", "r4", "x2", "s6"]

请问这有什么 LINQ 魔法?

谢谢!

Joh*_*ica 6

您可以SelectMany为此使用:

var fieldsArrays = data.SelectMany(s => s.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries));
Run Code Online (Sandbox Code Playgroud)

.ToArray();如果您确实希望将它放回到数组中(而不是充当 视图data),则需要在末尾添加 a 。

网上试试