0
foreach (KeyValuePair<String, EngineProperty> kvp in propertyDict)
{
    Debug.Log(kvp.Key.GetType()+" : "+ kvp.Key+ " "+ mainText.text.GetType()+ " "+ mainText.text);
}
slider.value = propertyDict[mainText.text].GetSpeed();

foreach ループから 5 項目が出力されます。以下のコードはその1つです

System.String :   Piston   System.String   Piston

Piston私が探している鍵です

しかし、for ループのすぐ下では、

私がこれを使うとき

slider.value = propertyDict[mainText.text].GetSpeed();

このエラーが発生します

KeyNotFoundException: The given key was not present in the dictionary.

しかし、キーは for ループで出力されました。理解できません。
こんな感じで初期化しました

public Dictionary<String, EngineProperty> propertyDict = new Dictionary<String, EngineProperty>();

すべてを に置き換えてみましたがStringstringそれでも機能しません。

私は何をしますか?

4

1 に答える 1