C#将字符串拆分为多维数组或锯齿数组的无环方法

C#将字符串拆分为多维数组或锯齿数组的无环方法,c#,linq,C#,Linq,如何在不循环的情况下将字符串拆分为多维数组或锯齿数组? 我看到一个代码片段,其中有人正在使用文件流执行此操作,但我不知道如何使其适用于我的字符串。 我的字符串类似于1:2;3:1;4:1,可拆分为ID:Qty。 以下是我看到的代码: string[][] lines = File.ReadAllLines(path) .Select(line => line.Split(',').ToArray()).ToArray(); 提前谢谢 MyString.Split(';').

如何在不循环的情况下将字符串拆分为多维数组或锯齿数组? 我看到一个代码片段,其中有人正在使用文件流执行此操作,但我不知道如何使其适用于我的字符串。 我的字符串类似于
1:2;3:1;4:1
,可拆分为
ID:Qty
。 以下是我看到的代码:

string[][] lines = File.ReadAllLines(path)
    .Select(line => line.Split(',').ToArray()).ToArray();   
提前谢谢

MyString.Split(';').Select(s => s.Split(':'))

这将为您提供一个
IEnumerable
。如果你真的想,你可以调用
.ToArray()
,但这并不值得

你的回答很好。这让我离完成还有一步之遥-我如何从中获得你真的需要字符串[]?IEnumerable将完成您需要的90%,并且在需要之前转换为真实数组对性能非常不利。如果这样做,您只需在正确的位置调用
.ToArray()
。您还可以考虑是否可以使用数组的iQueDaby或I枚举数组。
String s = "1:2;1:3;1:4";
String[][] f = s.Split( ';' ).Select( t => t.Split( ':' ) ).ToArray();