我需要從 a 的值中減去 1,Dictionary<string, int>因為 int 包含在輸入 foreach 時需要減少的數量,但我似乎沒有找到解決方案。
foreach(KeyValuePair<string, int> i in myDictionary)
i.Value -= 1;
以上是不可能的,如果我嘗試這樣做,myDictionary[i] -= 1我仍然會出錯。有什么建議嗎?
uj5u.com熱心網友回復:
您的字典由string此處型別的鍵編入索引。所以你可以做這樣的事情:
myDictionary["some value"] -= 1;
如果你想從每個值中減去 1,那么你可以這樣做:
foreach (var key in myDictionary.Keys)
{
myDictionary[key] -= 1;
}
示例:https : //dotnetfiddle.net/L9CV0B
uj5u.com熱心網友回復:
您不能更改 keyvaluepair 的值,因為它是只讀的。試試這個代碼。它在visual studio中進行了測驗
- 你可以用新的鍵值對替換
dict = dict.ToDictionary(kvp => kvp.Key, kvp => kvp.Value -1);
- 或者只是改變價值
for (int i = 0; i < myDictionary.Count; i )
{
string key = dict.Keys.ElementAt(i);
dict[key]-=1;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/373923.html
