Проблема с Dictionary

152
08 апреля 2019, 10:10

Всем привет! При добавлении в Dictionary, некоторых данных p

public Dictionary<string, Dictionary<string,Dictionary<int,float>>> check = new Dictionary<string, Dictionary<string, Dictionary<int, float>>>();
    check[player.Username]["spawn"][0] = x;
    check[player.Username]["spawn"][1] = y;
    check[player.Username]["spawn"][2] = z;

Получаю ошибку

System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.Collections.Generic.KeyNotFoundException: Данный ключ отсутствует в словаре.
   в System.ThrowHelper.ThrowKeyNotFoundException()
   в System.Collections.Generic.Dictionary`2.get_Item(TKey key)
Answer 1

Ошибка происходит из-за попытки обращения к элементу в пустом массиве.

Для решения можно воспользоваться инициализатором коллекции

например так:

Dictionary<string, Dictionary<string, Dictionary<int, float>>> check = new Dictionary<string, Dictionary<string, Dictionary<int, float>>>()
{
    [player.Username] = new Dictionary<string, Dictionary<int, float>>()
    {
        ["spawn"] = new Dictionary<int, float>()
        {
            [0] = x,
            [1] = y,
            [2] = z
        }
    }
};
READ ALSO
Как автоматически подключать flash player в Chrome 71

Как автоматически подключать flash player в Chrome 71

Данный код не работает, может кто нибуть подскажет куда копать

154
Перемножение факториалов

Перемножение факториалов

Сейчас задачка попалась, не могу сообразить, как ее решить:

167
Объединение двух таблиц в одну с подсчетом дней

Объединение двух таблиц в одну с подсчетом дней

Не могу решить задачу, кажется очень сложной

115