C 中遍歷字典的問題

2021-07-23 22:26:49 字數 540 閱讀 2133

曾經面試的時候遇到這樣一道題,以下**在執行時會出現什麼問題:

dictionarydic = new dictionary();

dic["a"] = 1;

dic["b"] = 2;

foreach (string key in dic.keys)

這個問題很好解釋,foreach是迭代器,迭代過程中的變數是不可修改的,會產生不可預估的後果,所以編譯器在編譯時會報錯。

解決辦法就是將字典項儲存到list中,利用for迴圈遍歷遍歷list時,對字典進行修改:

dictionarydic = new dictionary();

dic["a"] = 1;

dic["b"] = 2;

//將字典的keys儲存到鍊錶中

listkeys = new list(dic.keys);

//遍歷鍊錶

foreach (string key in keys)

遍歷字典中的值

對於餐館中的收銀員來說,他們可能並不想知道選單的菜名,只需要知道菜的 然後收賬即可。所以對於收銀員來說,我們需要遍歷menu字典中的所有菜的 python為字典型別內建了values 方法,該方法會將字典裡的值遍歷出來,例如 建立並初始化menu選單字典 menu 利用values 方法遍歷輸出值 ...

Python遍歷字典中的鍵

遍歷字典中的鍵 對於餐館中的廚師來說,他們並不想要知道菜的 只需要知道菜名然後將其做出來就行。所以對於廚師來說,我們需要遍歷menu字典中的所有菜名。python為字典型別內建了keys 方法,該方法會將字典裡的鍵遍歷出來,例如 建立並初始化menu選單字典 menu 利用keys 方法遍歷輸出鍵 ...

字典的遍歷

遍歷 1.先找到所有key 2.計算key的個數,用於迴圈 3.通過key的陣列,找到key對應的value nsarray keyss nulldic allkeys nsinteger count keyss count for int i 0 iid key keyss objectatind...