给定一个像"name:Dave"我想要转换为字符串的字符串Tuple<string,string>是否有一种使用LINQ进行内联的简洁方法,而不是首先获取数组然后解析它?
我正在从我的app.config文件中解析一些配置数据,如下所示:
<Data>
<add key="John" value="instrument:guitar"/>
<add key="Paul" value="instrument:bass"/>
<add key="George" value="instrument:guitar"/>
<add key="Ringo" value="instrument:drums"/>
</Data>
Run Code Online (Sandbox Code Playgroud)
我要转换为Dictionary<string,tuple<string,string>>(我知道这是一个奇怪的数据结构!)
从一些代码开始:
var x = ((ConfigurationManager.GetSection("Data") as Hashtable))
.Cast<System.Collections.DictionaryEntry>()
.ToDictionary(n => n.Key.ToString(), n => something(n.Value.ToString().Split(':')));
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种简洁的LINQ方式在线执行此操作而不是编写一个实用程序函数来从String.Split的数组中获取单个元组?
var source = new Dictionary<string, string>(){ { "John", "instrument:guitar" } };
var tuple = source.Select(x => new { key = x.Key, values = x.Value.Split(':') }).Select(y => new Tuple<string, string>(y.key, y.values[1])).ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1922 次 |
| 最近记录: |