Unity2D - Как создать словарь или хеш-таблицу в C#? - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь отслеживать некоторые переменные и сохранять эффективность своего кода. Я знаю, что Unity API содержит хеш-таблицы, но он не объясняет, как их использовать, и / или он просто не работает. Я также попробовал версию словарей для Microsoft C#, но она тоже не работает. Вот код, который я хочу работать:

public Hashtable OrbitSpeeds = new Hashtable();
//This doesn't work//
OrbitSpeeds.Add("Moon", 1.0f);
OrbitSpeeds.Add("Sattelite", -2.5f);
OrbitSpeeds.Add("Cloud", -3.0f);
float newSpeed = OrbitSpeeds["Cloud"];
OrbitSpeeds["Moon"] = 2.0f;

Dictionary <string, float> OrbitSpeeds = new Dictionary<string, float>();
//This also doesn't work//
OrbitSpeeds.Add("Moon", 1.0f);
OrbitSpeeds.Add("Sattelite", -2.5f);
OrbitSpeeds.Add("Cloud", -3.0f);
float newSpeed = OrbitSpeeds["Cloud"];
OrbitSpeeds["Moon"] = 2.0f;

1 Ответ

0 голосов
/ 02 апреля 2020

Оказывается, способ инициализации и добавления вещей заключается в следующем:

public class TAGS : MonoBehaviour
{
    public static Dictionary<string, float> OrbitSpeeds= new Dictionary<string, float>
    {
        {"Moon", 1.0f},
        {"Sattelite", -2.5f},
        {"Cloud", -3.0f}
    };
}

И это работает точно так, как задумано

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...