首页 > 解决方案 > C#多维数组转换成数组

问题描述

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

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

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

请问这个LINQ魔法是什么?

谢谢!

标签: c#.netlinq

解决方案


您可以SelectMany为此使用:

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

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

在线尝试


推荐阅读