создать список первойКак получить имя списка
List<String> dummy1 = new List<String>();
List<String> dummy2 = new List<String>();
List<String> dummy3 = new List<String>();
List<String> dummy4 = new List<String>();
Перед тем, как добавить список в словарь
Dictionary<int, List<String>> _d = new Dictionary<int, List<String>>()
{
{1, dummy1},
{2, dummy2},
{3, dummy3},
{4, dummy4},
};
, то я хочу, чтобы иметь имя списка Зацикливания ключ
foreach (var key in _d.Keys)
{
MessageBox.Show(_d[key].GetType().Name);
}
но выход list 1
, я хочу, чтобы получить
dummy1
dummy2
dummy3
dummy4
Короче; вы не можете. Не без использования какого-то действительно фанкового синтаксиса для захвата переменных. – Rob
Интересно, может ли новое выражение «nameof» в предстоящем C# 6.0 сделать это, если деревья выражений не могут. .. Может быть, это из-за словаря, но может быть, там какая-то магия? –
@JasonW Я очень сомневаюсь в этом. Как я понимаю, nameof() выполняется во время компиляции и просто заменяет вызов строкой. Например, 'var prop = nameof (dummy1)' компилируется в 'var prop =" dummy1 "'. Хотя я мог ошибаться. – Rob