C# Dictionary

программирование C# .net

Есть MS Visual C# 2010. Я хочу обявить общедоступный словарь, и использовать его в коде. но проблема в следующем: я объявил public Dictionary, потом я его инициализирую в MainWindow() (приложение WPF), и потом на кнопке пытаюсь записать значение в словарь, и ексепшн вылетает "Ссылка на объект не указывает на экземпляр объекта."
В чем проблема?

Код:
public partial class MainWindow : Window
{
public Dictionary<string,decimal> PortsClPos;

public MainWindow()
{
InitializeComponent();
var PortsClPos = new Dictionary<string, decimal>();
}


private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (_trader != null)
{
if (_trader.IsConnected)
{

}
}
}

private void button1_Click(object sender, RoutedEventArgs e)
{
var dic = new Dictionary<string, decimal>();
PortsClPos["oroo"] = 3;
}
}

Примечание:
@masterpiece6, спасибо тебе хороший человек)
Ответы:
var PortsClPos = new Dictionary<string, decimal>(); // здесь создается новая локальная переменная с именем PortsClPos, которая типизируется как Dictionary<string, decimal>. при выходе из функции она удаляется. с той переменной, которая член класса ты вообще ничего не делаешь
вывод: убери слово "var"


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.