У меня есть словарь, подобный этому:
Dictionary<string, List<string>>
После добавления ключей и значений, подобных этому:
resultDic.Add(s, new List<string>());
foreach (DataRow row in schemaTable.Rows)
{
resultDic[s].Add(row[3].ToString());
}
Затем я хочу отобразить как строковые значения, так и отдельные значения внутрисписок из словаря.Чтобы добиться этого, я попытался сделать так:
dataGridView2.DataSource = Controller.GetMetaDataTables2().Select(x
=> new { ColumnName = x.Key, Table = x.Value[0] }).ToList();
dataGridView2.Show();
GetMetaDataTables2 возвращает словарь, подобный приведенному выше.Проблема в том, что index [0], очевидно, дает мне только первое значение, когда я хочу показать весь список.Я хочу повторить, но я не знаю, как это сделать здесь.Я только начинаю понимать выражение LINQ.Есть идеи?
Благодарен за любую помощь!
Обновление: исправлено с помощью Маркуса.Я использовал его решение с одним изменением.Вместо y.ToArray () мне нужно было просто напечатать y.Как это:
dataGridView2.DataSource = Controller.GetMetaDataTables2()
.SelectMany(x => x.Value.Select(y => new { ColumnName = x.Key, Table =
y }))
.ToArray();
dataGridView2.Show();