一、方法同hashtable,鍵必須唯一。
鏈接https://www.cnblogs.com/yaoyue68/p/14508064.html
Dictionary<int,string> dc = new Dictionary<int ,string>(); dc.Add(1, "天氣好"); dc.Add(2, "天氣不好"); dc[2] = "我修改你"; dc[3] = "我是新加的"; //沒有就添加,有則修改 dc.ContainsValue(); //重要的兩個方法 dc.ContainsValue(); //遍歷,var簡便些 foreach (var keyValuePair in dc) { Console.WriteLine($"{keyValuePair.Key}:{keyValuePair.Value}"); } //或者 聲明類型 KeyValuePair<int,string> kv foreach (KeyValuePair<int,string> kv in dc) { Console.WriteLine($"{kv.Key}:{kv.Value}"); } Console.ReadKey();
二、練習
1.將一個數組中的奇偶數各放到一個集合中,然后重組為集合,鍵為奇數,鍵值為偶數。
int[] raw = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; List<int> ji = new List<int>(); List<int> ou = new List<int>(); for (int i = 0; i < raw.Length; i++) { if (raw[i]%2==0) { ou.Add(raw[i]); } else { ji.Add(raw[i]); } } //拼接新字典鍵值對 Dictionary<int, int> dc = new Dictionary<int, int>(); for (int i = 0; i < ou.Count; i++) { dc.Add(ji[i], ou[i]); } foreach (var item in dc) { Console.WriteLine($"{item.Key}:{item.Value}"); }
2.統計welcome to china 各字符出現的次數
static void Main(string[] args) { string raw = "welcome to china"; Dictionary<char, int> dc = new Dictionary<char, int>(); //去空格 string raw2 = raw.Replace(" ", ""); ///如果沒有上面的去空格語句,則 if (raw[i]==' ') //replace是雙引號 { continue; //跳過這次的循環,直接進行下一次 } /// for (int i = 0; i < raw2.Length; i++) { if (!dc.ContainsKey(raw2[i]))//containskey注意 { dc.Add(raw2[i], 1); } else { dc[raw2[i]]++; } } foreach (var item in dc) { Console.WriteLine($"{item.Key}:{item.Value}"); } Console.ReadKey(); }