I\'ve seen a few different ways to iterate over a dictionary in C#. Is there a standard way?
With .NET Framework 4.7
one can use decomposition
var fruits = new Dictionary();
...
foreach (var (fruit, number) in fruits)
{
Console.WriteLine(fruit + ": " + number);
}
To make this code work on lower C# versions, add System.ValueTuple NuGet package
and write somewhere
public static class MyExtensions
{
public static void Deconstruct(this KeyValuePair tuple,
out T1 key, out T2 value)
{
key = tuple.Key;
value = tuple.Value;
}
}