如何在字典中循环,而不是使用foreach(key-valuepair)
本文关键字:foreach key-valuepair 字典 循环 | 更新日期: 2023-09-27 18:29:57
除了使用之外,还有其他方法可以循环遍历所有键和值吗
foreach (KeyValuePair<T, T> kv in _dic)
我真的不知道你为什么要这么做,但是。。。
var enumerator = _dic.GetEnumerator();
while (enumerator.MoveNext())
{
var pair = enumerator.Current;
// ...
}
当然,这就是foreach
在幕后所做的。
您可以循环通过所有键,或作为独立列表的所有值:
foreach(var key in _dic.Keys)
或
foreach(var value in _dic.Values)
我经常使用Keys列表并在循环中引用字典来获取值。
您可以使用LINQ表达式。
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication2
{
class Program
{
static void Main()
{
var dict = new Dictionary<string, string>();
dict.Add("toto","this is toto");
dict.Add("tata", "this is tata");
var keys = dict.Where(p => p.Key == "toto"); // LINQ expression is here
foreach (var key in keys)
{
Console.WriteLine(key);
}
Console.Read();
}
}
}
}