<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # C# 字典教程 > 原文: [https://zetcode.com/csharp/dictionary/](https://zetcode.com/csharp/dictionary/) C# 字典教程展示了如何在 C# 中使用`Dictionary`集合。 ## C# 字典 字典,也稱為關聯數組,是唯一鍵的集合和值的集合,其中每個鍵都與一個值關聯。 檢索和添加值非常快。 字典占用更多內存,因為每個值都有一個鍵。 ## C# 字典初始化器 可以使用字面值符號初始化 C# 字典。 這些元素添加在`{}`括號內的分配的右側。 `Program.cs` ```cs using System; using System.Collections.Generic; namespace Initializers { class Program { static void Main(string[] args) { var domains = new Dictionary<string, string> { {"sk", "Slovakia"}, {"ru", "Russia"}, {"de", "Germany"}, {"no", "Norway"} }; Console.WriteLine(domains["sk"]); var days = new Dictionary<string, string> { ["mo"] = "Monday", ["tu"] = "Tuesday", ["we"] = "Wednesday", ["th"] = "Thursday", ["fr"] = "Friday", ["sa"] = "Saturday", ["su"] = "Sunday" }; Console.WriteLine(days["fr"]); } } } ``` 在示例中,我們使用字面值符號創建兩個字典。 ```cs var domains = new Dictionary<string, string> { {"sk", "Slovakia"}, {"ru", "Russia"}, {"de", "Germany"}, {"no", "Norway"} }; ``` 創建一個新的字典。 在尖括號`<>`之間,我們指定鍵和值的數據類型。 新的鍵/值元素對寫在嵌套的`{}`括號內; 每對之間用逗號分隔。 例如,`"sk"`鍵引用`"Slovakia"`值。 ```cs Console.WriteLine(domains["sk"]); ``` 要獲得一個值,我們指定字典名稱,后跟方括號`[]`。 在方括號之間,我們指定鍵名稱。 ```cs var days = new Dictionary<string, string> { ["mo"] = "Monday", ["tu"] = "Tuesday", ["we"] = "Wednesday", ["th"] = "Thursday", ["fr"] = "Friday", ["sa"] = "Saturday", ["su"] = "Sunday" }; ``` 這是替代的 C# 字典初始化器。 使用字典訪問符號將值分配給鍵。 ```cs $ dotnet run Slovakia Friday ``` 這是輸出。 ## C# 計數元素 通過`Count`屬性,我們可以獲得字典中的鍵數。 `Program.cs` ```cs using System; using System.Collections.Generic; namespace Counting { class Program { static void Main(string[] args) { var domains = new Dictionary<string, string> { {"sk", "Slovakia"}, {"ru", "Russia"}, {"de", "Germany"}, {"no", "Norway"} }; domains.Add("pl", "Poland"); Console.WriteLine($"There are {domains.Count} items in the dictionary"); } } } ``` 該示例計算字典中的項目數。 ```cs Console.WriteLine($"There are {domains.Count} items in the dictionary"); ``` 在這里,我們打印字典中的項目數。 ```cs $ dotnet run There are 5 items in the dictionary ``` This is the output. ## C# 添加和刪除元素 創建字典后,可以在字典中添加或刪除新元素。 `Program.cs` ```cs using System; using System.Collections.Generic; namespace AddRemove { class Program { static void Main(string[] args) { var users = new Dictionary<string, int>() { { "John Doe", 41 }, { "Jane Doe", 38 }, { "Lucy Brown", 29 }, }; users["Paul Brown"] = 33; users.Add("Thomas Pattison", 34); Console.WriteLine(string.Join(", ", users)); users.Remove("Jane Doe"); Console.WriteLine(string.Join(", ", users)); users.Clear(); if (users.Count == 0) { Console.WriteLine("The users dictionary is empty"); } } } } ``` 該示例創建一個新詞典并使用幾種內置方法對其進行修改。 ```cs var users = new Dictionary<string, int>() { { "John Doe", 41 }, { "Jane Doe", 38 }, { "Lucy Brown", 29 }, }; ``` 創建一個新的字典。 用戶名是鍵,用戶年齡是值。 ```cs users["Paul Brown"] = 33; users.Add("Thomas Pattison", 34); ``` 我們使用字典訪問符號和`Add()`方法將兩個新對添加到字典中。 ```cs Console.WriteLine(string.Join(", ", users)); ``` 我們使用字符串`Join()`方法一次顯示所有元素。 ```cs users.Remove("Jane Doe"); ``` 使用`Remove()`方法刪除一對。 該參數是字典鍵。 ```cs users.Clear(); ``` 用`Clear()`方法清除字典。 ```cs $ dotnet run [John Doe, 41], [Jane Doe, 38], [Lucy Brown, 29], [Paul Brown, 33], [Thomas Pattison, 34] [John Doe, 41], [Lucy Brown, 29], [Paul Brown, 33], [Thomas Pattison, 34] The users dictionary is empty ``` This is the output. ## C# `ContainsKey`和`ContainsValue`方法 `ContainsKey()`方法確定字典是否包含指定的鍵,`ContainsValue()`方法確定字典是否包含指定的值。 `Program.cs` ```cs using System; using System.Collections.Generic; namespace CheckElements { class Program { static void Main(string[] args) { var domains = new Dictionary<string, string> { {"sk", "Slovakia"}, {"ru", "Russia"}, {"de", "Germany"}, {"no", "Norway"} }; var key = "sk"; if (domains.ContainsKey(key)) { Console.WriteLine($"The {key} key is in the dictionary"); } else { Console.WriteLine($"The {key} key is in not the dictionary"); } var value = "Slovakia"; if (domains.ContainsValue(value)) { Console.WriteLine($"The {value} value is in the dictionary"); } else { Console.WriteLine($"The {value} value is in not the dictionary"); } } } } ``` 在示例中,我們檢查字典中是否存在`"sk"`鍵和`"Slovakia"`值。 ```cs $ dotnet run The sk key is in the dictionary The Slovakia value is in the dictionary ``` This is the output. ## C# 遍歷字典 有幾種遍歷 C# 字典的方法。 `Program.cs` ```cs using System; using System.Collections.Generic; namespace Traversing { class Program { static void Main(string[] args) { var domains = new Dictionary<string, string> { {"sk", "Slovakia"}, {"ru", "Russia"}, {"de", "Germany"}, {"no", "Norway"} }; foreach (var (key, value) in domains) { Console.WriteLine($"{key}: {value}"); } Console.WriteLine("**************************************"); foreach (var kvp in domains) { Console.WriteLine($"{kvp.Key}: {kvp.Value}"); } Console.WriteLine("**************************************"); // oldschool foreach (KeyValuePair<string, string> entry in domains) { Console.WriteLine($"{entry.Key}: {entry.Value}"); } } } } ``` 該示例使用`foreach`遍歷字典。 ```cs foreach (var (key, value) in domains) { Console.WriteLine($"{key}: {value}"); } ``` 在此`foreach`循環中,我們成對瀏覽字典。 每對都分解為其鍵和值。 ```cs foreach (var kvp in domains) { Console.WriteLine($"{kvp.Key}: {kvp.Value}"); } ``` 在這種情況下,我們通過`Key`和`Value`屬性訪問鍵和值。 ```cs // oldschool foreach (KeyValuePair<string, string> entry in domains) { Console.WriteLine($"{entry.Key}: {entry.Value}"); } ``` 最后,這是一種使用`KeyValuePair`成對遍歷字典的較舊方法。 ```cs $ dotnet run sk: Slovakia ru: Russia de: Germany no: Norway ************************************** sk: Slovakia ru: Russia de: Germany no: Norway ************************************** sk: Slovakia ru: Russia de: Germany no: Norway ``` This is the output. C# 允許分別循環遍歷鍵和值。 `Program.cs` ```cs using System; using System.Collections.Generic; namespace Traversing2 { class Program { static void Main(string[] args) { var domains = new Dictionary<string, string> { {"sk", "Slovakia"}, {"ru", "Russia"}, {"de", "Germany"}, {"no", "Norway"} }; Console.WriteLine("Keys:"); foreach (var val in domains.Keys) { Console.WriteLine(val); } Console.WriteLine("\nValues:"); foreach (var val in domains.Values) { Console.WriteLine(val); } } } } ``` 該示例在兩個`foreach`循環中打印字典的所有鍵和所有值。 ```cs foreach (var val in domains.Keys) { Console.WriteLine(val); } ``` 我們使用`Keys`屬性獲取所有鍵。 ```cs foreach (var val in domains.Values) { Console.WriteLine(val); } ``` 我們使用`Values`屬性獲取所有值。 ```cs $ dotnet run Keys: sk ru de no Values: Slovakia Russia Germany Norway ``` This is the output. ## C# 排序字典 我們可以使用 LINQ 對字典進行排序。 `Program.cs` ```cs using System; using System.Collections.Generic; using System.Linq; namespace Sorting { class Program { static void Main(string[] args) { var users = new Dictionary<string, int>() { { "John", 41 }, { "Jane", 38 }, { "Lucy", 29 }, { "Paul", 24 } }; var sortedUsersByValue = users.OrderBy(user => user.Value); foreach (var user in sortedUsersByValue) { Console.WriteLine($"{user.Key} is {user.Value} years old"); } } } } ``` 該示例按用戶年齡對字典進行排序。 ```cs var sortedUsersByValue = users.OrderBy(user => user.Value); ``` `OrderBy()`方法用于按條目的值對條目進行排序。 ```cs $ dotnet run Paul is 24 years old Lucy is 29 years old Jane is 38 years old John is 41 years old ``` 輸出按字典值排序。 ## C# `SortedDictionary` `SortedDictionary`表示按鍵排序的鍵/值對的集合。 `Program.cs` ```cs using System; using System.Collections.Generic; namespace SortedDictEx { class Program { static void Main(string[] args) { var sortedUsers = new SortedDictionary<string, int>() { { "John", 41 }, { "Jane", 38 }, { "Lucy", 29 }, { "Paul", 24 } }; foreach (var user in sortedUsers) { Console.WriteLine($"{user.Key} is {user.Value} years old"); } } } } ``` 該示例演示了`SortedDictionary`的用法。 ```cs $ dotnet run Jane is 38 years old John is 41 years old Lucy is 29 years old Paul is 24 years old ``` 輸出按字典鍵排序。 在本教程中,我們使用了 C# 詞典集合。 您可能也對以下相關教程感興趣: [MySQL C# 教程](/db/mysqlcsharptutorial/), [C# 中的日期和時間](/articles/csharpdatetime/),[用 C# 閱讀網頁](/csharp/readwebpage/)或 [C# Winforms 教程](/gui/csharpwinforms/)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看