c# 鍵值對集合Dictionary


一、方法同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();
        }

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM