首页 / 问答 / C#/.NET/.NET Core应用程序编程开发中循环迭代一个字典的每一项目的方法有哪些呢?

C#/.NET/.NET Core应用程序编程开发中循环迭代一个字典的每一项目的方法有哪些呢?

.NET C# Dictionary .NET Core 字典 1.39K 次浏览
0

如题,在C#/.NET/.NET Core应用程序编程开发中,给定一个字典,要循环迭代这个字典的每一项目的方法有哪些呢?

回复 [×]
提交评论
请输入评论内容

4 个回答

  • 0

    在循环中使用var关键字作为迭代项,如下:

    foreach(var item in myDictionary)
    {
      var key = item.Key;
      var value = item.Value;
    }
    

    你还可以循环迭代字典中的每一个键,如下:

    foreach(var key in myDictionary.Keys)
    {
      // key即为迭代的字典的每一个键
    }
    

    你还可以循环迭代字典中的每一个值,如下:

    foreach(var val in myDictionary.Values)
    {
      // val即为迭代的字典的每一个值
    }
    
    Rector的个人主页

    Rector

    2020-04-23 回答

    • 0

      使用foreach并指定迭代项为KeyValuePair<string, string>,如下:

      foreach(KeyValuePair<string, string> entry in myDictionary)
      {
          // 处理业务逻辑
      }
      
      Rector的个人主页

      Rector

      2020-04-23 回答

      • 0

        使用for循环遍历,然后使用字典Dictionary.ElementAt()方法获取字典索引位置对应的字典项,如下:

        for (int index = 0; index < dictionary.Count; index++) {
          var item = dictionary.ElementAt(index);
          var itemKey = item.Key;
          var itemValue = item.Value;
        }
        
        Rector的个人主页

        Rector

        2020-04-23 回答

        • 0

          C# 7.0新增了新的解构(Deconstruction)语法,所以,我们可以使用解构语法可循环迭代字典,如下:

          var dic = new Dictionary<int, string>() { { 1, "One" }, { 2, "Two" }, { 3, "Three" } };
          foreach (var (key, value) in dic) {
              Console.WriteLine($"Item [{key}] = {value}");
          }
          
          foreach (var (_, value) in dic) {
              Console.WriteLine($"Item [NO_ID] = {value}");
          }
          
          foreach ((int key, string value) in dic) {
              Console.WriteLine($"Item [{key}] = {value}");
          }
          
          Rector的个人主页

          Rector

          2020-04-23 回答

          我来回答