.NET (C#) 中,Dictionary<TKey, TValue> 是一种非常实用的集合类型,用于存储键值对的集合。遍历 Dictionary 的方法有多种,包括使用 for 循环、foreach 循环和 while 循环。使用 foreach 循环是遍历 Dictionary 中所有键值对最常见和最简单的方法。for 和 while 循环在遍历 Dictionary 时不是很常见,因它们需要通过索引访问元素,但在某些特定情况下可能会有用。

1、使用for遍历字典(Dictionary)

由于 Dictionary 不是基于索引的集合,所以直接使用 for 循环遍历有些不太方便,但可以通过转换字典的键或值为列表或使用元素索引来实现。ElementAt()需要引入using System.Linq命名空间,Dictionary命令空间是using System.Collections.Generic;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
         Dictionary<string, string> dic =
                new Dictionary<string, string> {
                    ["key1"] = "value1",
                    ["key2"] = "value2",
                    ["key3"] = "value3"
                };
         for (int i = 0; i < dic.Count; i++) {
                var item = dic.ElementAt (i);
                Console.WriteLine ("key is " + item.Key);
                Console.WriteLine ("value is " + item.Value);
            }
            for (int i = 0; i < dic.Count; i++) {
                Console.WriteLine ("key is " + dic.Keys.ElementAt (i));
                Console.WriteLine ("value is " + dic.Values.ElementAt (i));
            }
        }
    }
}

2、使用foreach遍历字典(Dictionary)

foreach 循环是遍历字典中的每个元素(键值对)最直接的方法。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
        Dictionary<string, string> dic =
                new Dictionary<string, string> {
                    ["key1"] = "value1",
                    ["key2"] = "value2",
                    ["key3"] = "value3"
                };
        foreach (string key in dic.Keys) {
                Console.WriteLine ("key is " + key);
                Console.WriteLine ("value is " + dic[key]);
            }
            foreach (string value in dic.Values) {
                Console.WriteLine ("value is " + value);
            }
            foreach (KeyValuePair<string, string> item in dic) {
                Console.WriteLine ("key is " + item.Key);
                Console.WriteLine ("value is " + item.Value);
            }
        }
    }
}

3、使用while遍历字典(Dictionary)

使用 while 循环遍历字典类似于使用 for 循环,需要借助索引,使用ElementAt()访问,代码如下,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
        Dictionary<string, string> dic =
                new Dictionary<string, string> {
                    ["key1"] = "value1",
                    ["key2"] = "value2",
                    ["key3"] = "value3"
                };
         var enumerator = dic.GetEnumerator ();
            while (enumerator.MoveNext ()) {
                Console.WriteLine ("key is " + enumerator.Current.Key);
                Console.WriteLine ("value is " + enumerator.Current.Value);
            }
        }
    }
}

推荐文档

相关文档

大家感兴趣的内容

随机列表