To capture a key-value pair in a local variable, we need to use the aptly-named KeyValuePair type, assigning both the key and value types to match the dictionary's corresponding types. Since KeyValuePair is its type, it acts just like any other element type, as a local variable.
For example, let's loop through the itemInventory dictionary we created earlier in the Dictionaries section and debug each key-value like a shop item description:
Dictionary<string, int> itemInventory = new Dictionary<string, int>()
{
{ "Potion", 5},
{ "Antidote", 7},
{ "Aspirin", 1}
};
foreach(KeyValuePair<string, int> kvp in itemInventory)
{
Debug.LogFormat("Item: {0} - {1}g", kvp.Key, kvp.Value);
}
We've specified a local variable of KeyValuePair, called kvp, which is a common naming convention in programming like calling the for loop initializer i, and set the key...