Jon*_*Jon 4 .net c# linq generics .net-3.5
我有一个Dictionary<string,int>,我只想将字典中的值减一.
我有这个,但不确定它是否是最好的做法.
foreach (KeyValuePair<string, int> i in EPCs)
{
EPCs[i.Key] = i.Value - 1;
}
Run Code Online (Sandbox Code Playgroud)
更新:我试图减少该值的原因是因为该值是与位置相关的索引号.当我从字典中删除某些内容时,我必须减少字典中的索引号.可能有更好的方法.
您现有的代码是减少字典中所有值的完全合适的方法.
如果要创建新字典,可以使用LINQ:
EPCs = EPCs.ToDictionary(p => p.Key, p => p.Value - 1);
Run Code Online (Sandbox Code Playgroud)
但是,这将创建一个全新的 Dictionary<string, int>实例,而不是修改现有的实例.但是,既然你用你的问题标记了linq,我想我会提供一种方式(我知道)LINQ可以解决你的问题.
| 归档时间: |
|
| 查看次数: |
1241 次 |
| 最近记录: |