我有:
string s = "A=1,B=2,C=3";
Run Code Online (Sandbox Code Playgroud)
我需要使用LINQ在哈希表中输出.
Hastable应填写为
["A"] | 1
["B"] | 2
["C"] | 3
Run Code Online (Sandbox Code Playgroud)
您可以使用此代码:
var dict = s.Split(',')
.ToDictionary(x => x.Split('=').First(),
x => int.Parse(x.Split('=')[1]));
Run Code Online (Sandbox Code Playgroud)
请注意,如果输入字符串的格式不正确,则此代码会中断.此外,它使用强类型和首选Dictionary<TKey, TValue>而不是Hashtable.
更新:
要避免在创建字典时拆分两次,可以使用以下代码:
var dict = s.Split(',')
.Select(x => x.Split('='))
.ToDictionary(x => x[0],
x => int.Parse(x[1]));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3775 次 |
| 最近记录: |