Словарь внутри структуры, как записать и получить значение - C#
Формулировка задачи:
Есть структура и внутри нее есть словарь, как записать значение в этот словарь и потом прочитать это значение?
Ниже код, но он не работает , помогите его поправить.
После работы программы выводит:
0 1,111 В экземпляре объекта не задана ссылка на объект.
using System;
using System.Collections.Generic;
namespace StructAndDictionary
{
public struct MyStruct // моя структура
{
public Dictionary<double, long> MyDic;
public double test;
}
class mainProgram
{
static int Main()
{
try
{
MyStruct one = new MyStruct();
Console.WriteLine(one.test); // выводит 0
one.test += 1.111;
Console.WriteLine(one.test); // выводит 1.111
double MyKey = 1.1;
long MyValue = 100;
one.MyDic.Add(MyKey, MyValue); // тут ошибка
Console.WriteLine(one.MyDic[MyKey]);
}
catch (Exception en)
{
Console.WriteLine(en.Message);
}
return 0;
}
}
}Решение задачи: «Словарь внутри структуры, как записать и получить значение»
textual
Листинг программы
using System;
using System.Collections.Generic;
namespace StructAndDictionary
{
public struct MyStruct // моя структура
{
public Dictionary<double, long> MyDic;
public double test;
public MyStruct(int k)
{
MyDic = new Dictionary<double, long>();
test = 0;
}
}
class mainProgram
{
static int Main()
{
try
{
MyStruct one = new MyStruct(1);
Console.WriteLine(one.test); // выводит 0
one.test += 1.111;
Console.WriteLine(one.test); // выводит 1.111
double MyKey = 1.1;
long MyValue = 100;
one.MyDic.Add(MyKey, MyValue); // запись данных
one.MyDic.Add(1.2, 200); // запись данных
Console.WriteLine(one.MyDic[MyKey]);
Console.WriteLine(one.MyDic[1.2]);
}
catch (Exception en)
{
Console.WriteLine(en.Message);
}
return 0;
}
}
}