foreach walks a collection without any index — so there is no index to get wrong.
Program.cs
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> cities = new List<string> { "Vienna", "Oslo", "Lisbon" };
foreach (string city in cities)
{
Console.WriteLine(city);
}
}
}
Output
Vienna Oslo Lisbon
Looking things up
A Dictionary finds a value by a key you choose, rather than by position.
Program.cs
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Dictionary<string, string> capitals = new Dictionary<string, string>
{
["France"] = "Paris",
["Norway"] = "Oslo"
};
Console.WriteLine(capitals["France"]);
Console.WriteLine(capitals.ContainsKey("Spain"));
}
}
Output
Paris False
A missing key throws
capitals["Spain"] raises an exception. Check with ContainsKey first, or use TryGetValue.