Создайте int [] из Dictionary<int, List>, из списка значений каждого элемента словаря Мне нужен массив, содержащий все элементы словаря

#c# #arrays #dictionary

#c# #массивы #словарь

Вопрос:

Решение, которое у меня есть на данный момент, выглядит следующим образом…

 Dictionary<int, List<int>> oDict = <Some code to fill in the dictionary>;  

var oList = new List<int>();  
oDict.Values.ForEach(oList.AddRange);   
oList.ToArray();
  

Есть ли способ сделать это без использования дополнительного List<int> ?

Ответ №1:

Да, это выглядит как:

 var array = oDict.Values.SelectMany(list => list).ToArray();
  

(Если вам нужны только отдельные элементы, просто вызовите Distinct перед ToArray .)