基本的LINQ to Object代码

时间:2016-04-20 14:27:44

标签: c# linq

我正在学习LINQ。

我做了一些代码。

string mySource = @"
#16
100%
Monitor
#19
98%
Guide
#77
0%
Cord
";
var myPattern = @"#(\d+)\r\n(\d+)%\r\n([^\r\n]*)\r\n";
var myCollection = Regex.Matches(mySource, myPattern, RegexOptions.Singleline)
.Cast<Match>().ToList();
MessageBox.Show(string.Join("\n", myCollection));

看起来不错。

但是,我真正想做的就是这样。

(这种数据结构)

var myList = new List<string[]>();
var myArray1 = new string[] { "#16", "100%", "Monitor" };
var myArray2 = new string[] { "#19", "98%", "Guide" };
var myArray3 = new string[] { "#77", "0%", "Cord" };
myList.Add(myArray1);
myList.Add(myArray2);
myList.Add(myArray3);

我该怎么做?

此致

1 个答案:

答案 0 :(得分:1)

你可以这样做:

List<string[]> myList = myCollection.Select(r => r.Value
                                                    .Split(new [] { '\r', '\n'},
                                                    StringSplitOptions.RemoveEmptyEntries)
                                           ).ToList();

最终会得到一个带有三个元素的List<T>,每个元素都包含一系列字符串。