我正在使用简短的Linq表达式将文本文件读入字典
string[] lines = File.ReadAllLines(path);
var dictionary = lines.Select(line => line.Split(';')).ToDictionary(keyValue => keyValue[0], bits => bits[1]);
Run Code Online (Sandbox Code Playgroud)
只要我的文本文件中没有重复的键,这就可以正常工作.是否有一个简短的方法来过滤那些没有很长的路并迭代线[]数组?
Tim*_*ter 10
您可以GroupBy先使用:
var dictionary = lines.Select(line => line.Split(';'))
.GroupBy(arr => arr[0])
.ToDictionary(g => g.Key, g => g.First()[1]);
Run Code Online (Sandbox Code Playgroud)
这将选择每个副本的第一个元素,如果不需要,则必须相应地更改g.First.例如,您可以使用逗号分隔值:
var dictionary = lines.Select(line => line.Split(';'))
.GroupBy(arr => arr[0])
.ToDictionary(g => g.Key, g => string.Join(",", g.Select(arr=> arr[1])));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1065 次 |
| 最近记录: |