Чтобы перечислить словарь, либо перечислите значения в нем:
Dictionary<int, string> dic;
foreach(string s in dic.Values)
{
Console.WriteLine(s);
}
или KeyValuePairs
foreach(KeyValuePair<int, string> kvp in dic)
{
Console.WriteLine("Key : " + kvp.Key.ToString() + ", Value : " + kvp.Value);
}
или ключи
foreach(int key in dic.Keys)
{
Console.WriteLine(key.ToString());
}
Если вы хотите обновить элементы в словаре, вам нужно сделать это немного по-другому, потому что вы не можете обновить экземпляр при перечислении. Что вам нужно сделать, это перечислить другую коллекцию, которая не обновляется, например:
Dictionary<int, string> newValues = new Dictionary<int, string>() { 1, "Test" };
foreach(KeyValuePair<int, string> kvp in newValues)
{
dic[kvp.Key] = kvp.Value; // will automatically add the item if it's not there
}
Чтобы удалить элементы, сделайте это аналогичным образом, перечисляя коллекцию элементов, которые мы хотим удалить, а не сам словарь.
List<int> keys = new List<int>() { 1, 3 };
foreach(int key in keys)
{
dic.Remove(key);
}