我想找到一种优雅的方式来使用Linq创建数据结构。
(从文本文件到字典/列表)。
我不知道如何启动它。
myFile.text就是这样(tab tabperated)
Apple Fruit 2016-March-24-01
Rice Grain 2016-March-24-02
Milk Dairy 2016-March-24-03
Egg Poultry 2016-March-24-04
...
..
.
我的代码(抱歉基础作品)
string myFile = @"...\myFile.txt";
string myContent = File.ReadAllText(myFile);
Dictionary<string, string> myDictionary = new Dictionary<string, string>();
foreach( string x in Regex.Split(myContent, @"\r\n") )
{
if( x != "" )
{
string[] myArray = Regex.Split(x, @"\t");
myDictionary.Add(myArray[0], myArray[1]); // I need the first two items only.
}
}
MessageBox.Show(myDictionary.Count.ToString() + "\n\n" + string.Join("\n", myDictionary.Keys) + "\n\n" + string.Join("\n", myDictionary.Values));
请帮助。
答案 0 :(得分:4)
您的代码等同于以下内容。
var myDictionary = File.ReadLines(myFile)
.Where(x => x != string.Empty)
.Select(x => x.Split('\t'))
.ToDictionary(x => x[0], x => x[1]);