Объявить словарь с одним ключом, несколькими значениями
C# Я использую словарь, как:
var dict = new Dictionary<byte, Tuple<string, string>>();
Tuple<string, string> t = new Tuple<string, string>(label, unit);
Я хочу объявить это как член данных класса. но это говорит
Контекстное ключевое слово "var" может появляться только в объявлении локальной переменной или в коде скрипта
Как мне это решить?
2 ответа
В C# вы не можете использовать var для объявления членов класса:
Вот технические проблемы с реализацией этой функции. Общие случаи кажутся простыми, но более сложные случаи (например, поля, ссылающиеся на другие поля в цепочках или циклах, выражения, которые содержат анонимные типы), не являются таковыми.
взято из поста блога Почему нет полей на полях? и из этого поста.
В таком случае вам нужно объявить явные типы:
Dictionary<byte, Tuple<string, string>> dict = new Dictionary<byte, Tuple<string, string>>();
Сообщение об ошибке довольно ясно. Вы не можете использовать var
объявлять членов класса, только для локальных переменных.
Для членов класса вам нужно использовать явный тип:
public class MyClass
{
Dictionary<byte, Tuple<string, string>> dict = new Dictionary<byte, Tuple<string, string>>();
// ...
}