C# Dictionary使用


Dictionary

類型:System.Collections.Generic.Dictionary  

eg:Dictionary<string, int> illegParking = new Dictionary<string, int>();

鍵:inData.LOTID

值:inData.ISILLEGPARKING

1、判斷鍵存不存在。

dictionary中是不允許有重復項的,這樣才能按key索引到唯一一個value

if (illegParking.ContainsKey(inData.LOTID))
                {
                    illegParking[inData.LOTID] = inData.ISILLEGPARKING;
                }
                else
                {
                    illegParking.Add(inData.LOTID, inData.ISILLEGPARKING);
                }

 
View Code

2、幾種遍歷方式:

Dictionary<string, int> list = new Dictionary<string, int>();

   foreach (var item in list)

            {

                Console.WriteLine(item.Key + item.Value);

            }

 //通過鍵的集合取

            foreach (string key in list.Keys)

            {

                Console.WriteLine(key + list[key]);

            }

   //直接取值

            foreach (int val in list.Values)

            {

                Console.WriteLine(val);

            } 

 //非要采用for的方法也可

 Dictionary<string, int> list = new Dictionary<string, int>();         

   List<string> test = new List<string>(list.Keys);

            for (int i = 0; i < list.Count; i++)

            {

                Console.WriteLine(test[i] + list[test[i]]);

            }
View Code

3、涉及到移除某個鍵值的時候

不能在foreach循環里面移除,因為會導致錯誤:集合已修改;可能無法執行枚舉操作。可以改用for循環

//dicmodels是個dictionary

List<string> keys = new List<string>(dicModels.Keys);
for (int i = keys.Count - 1; i >= 0; i--)
 {
 }

KeyValuePair 和 Dictionary 的關系和區別

結構:System.Collections.Generic.KeyValuePair<TKey, TValue>
1、KeyValuePair 
    a、KeyValuePair 是一個結構體(struct);
    b、KeyValuePair 只包含一個Key、Value的鍵值對。
2、Dictionary 
    a、Dictionary 可以簡單的看作是KeyValuePair 的集合;
    b、Dictionary 可以包含多個Key、Value的鍵值對。

 


免責聲明!

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



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