基本LINQ到对象代码

本文关键字:代码 对象 LINQ 基本 | 更新日期: 2024-10-18 11:37:54

我正在学习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);

我该怎么办?

问候

基本LINQ到对象代码

你可以做:

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

您将得到一个包含三个元素的List<T>,每个元素都由字符串数组组成。