Member 10752313 Ответов: 2

Как добавить пару ключ значение в статический словарь в C#


У меня есть статический словарь

публичный статический словарь&ЛТ;идентификатор GUID, словарь и Л;строка, объект&ГТ;&ГТ; магазин {получить; набор;}

Я хочу добавить значение в вышеприведенный словарь из другого класса как

Guid clientId = Guid.Метод newguid();
Словарь в<строка,объект&ГТ; storageKeyDictionary = новый словарь в<строка, объект и GT;() { { "параметр", "тест" }};

Место хранения.Магазин.Добавить (clientId, storageKeyDictionary);

Но он возвращает ошибку как " ссылка на объект не установлена на экземпляр объекта." во время выполнения, пожалуйста, скажите мне, что не так с кодом?

Что я уже пробовал:

Я попытался добавить значение в частный статический словарь, но вернул ошибку.

2 Ответов

Рейтинг:
6

uspatel

сначала вы должны инициализировать свой объект хранилища.Используйте как показано ниже

public class Program
   {
       public static Dictionary<Guid, Dictionary<string, object>> Store {get; set;}

       static Program()
       {
           Store=new  Dictionary<Guid, Dictionary<string, object>>();
       }
       public static void Main(string[] args)
       {

           Guid clientId = Guid.NewGuid();
           Dictionary<string,object> storageKeyDictionary = new Dictionary<string, object>() { { "parameter", "test" }};

           Store.Add(clientId, storageKeyDictionary);

           //Your code goes here
           Console.WriteLine("Hello, world!");
       }
   }

или вы можете прямо написать так
public class Program
    {
        public static Dictionary<Guid, Dictionary<string, object>> Store =new  Dictionary<Guid, Dictionary<string, object>>();
        
      
        public static void Main(string[] args)
        {
            
            Guid clientId = Guid.NewGuid();
            Dictionary<string,object> storageKeyDictionary = new Dictionary<string, object>() { { "parameter", "test" }};

            Store.Add(clientId, storageKeyDictionary);
            
            //Your code goes here
            Console.WriteLine("Hello, world!");
        }
    }


Рейтинг:
20

RickZeeland

Ваш код почти правильный,но до хранения.Store. Add () вам не хватает:

Store = new Dictionary<Guid, Dictionary<string, object>>();