using a for loop to iterate through a dictionary
我通常使用foreach循环迭代字典。
1 |
在这种情况下,我希望修剪空白的条目,但是foreach循环不允许这样做。
1 2 3 4 | foreach (var kvp in dictSummary) { kvp.Value = kvp.Value.Trim(); } |
如何使用for循环进行此操作?
1 2 3 | for (int i = dictSummary.Count - 1; i >= 0; i--) { } |
这个怎么样?
1 2 3 4 5 | for (int i = dictSummary.Count - 1; i >= 0; i--) { var item = dictSummary.ElementAt(i); var itemKey = item.Key; var itemValue = item.Value; } |
你必须这样做:
1 2 | foreach(var kvp in dictSummary.ToArray()) dictSummary[kvp.Key] = kvp.Value.Trim(); |
这里的重要部分是
另一种方法是使用Linq的
1 | dictSummary = dictSummary.ToDictionary(x => x.Key, x => x.Value.Trim()); |
您不需要使用
1 | dictSummary.Keys.ToList().ForEach(k => dictSummary[k] = dictSummary[k].Trim()); |