sudo apt-get install php-mysql
хорошо работал на ubuntu и php 7
Из-за того, как сохраняется словарь (или хеш-таблица), это - то, что Вы сделали бы. Внутренне реализация содержит ключи, блоки (для обработки коллизии) и значения. Вы смогли получать внутренний список значения, но Вы лучше из с чем-то вроде этого:
IDictionary<int, IList<MyClass>> dict;
var flattenList = dict.SelectMany( x => x.Value );
Это должно добиться цели ;) SelectMany, сглаживает результат, что означает, что каждый список связывается в одну длинную последовательность (IEnumerable '1).
Вариация на предложение John's:
var flattenedValues = dict.Values.SelectMany(x => x);
при необходимости в них в списке можно, конечно, назвать ToList:
var flattenedList = dict.Values.SelectMany(x => x).ToList();
Values
добирается ICollection
содержащий значения Вашего словаря. Как подразумевается определением Вашего словаря, это может быть определено как ICollection<IList<MyClass>>
набор. Таким образом, если Вы действительно хотите IList<IList<MyClass>>
, используйте решение spacedog .
, Если то, что Вы действительно хотите, является плоским 'IList', затем нет никакого другого решения, чем цикличное выполнение через каждое значение:
IList<MyClass> l=new List<MyClass>();
foreach (IList<MyClass> v in myDictionary.Values)
l.AddRange(v);
Примечание, что это столь чрезвычайно неэффективно, что необходимо думать снова об использовании словаря для того, чего Вы пытаетесь достигнуть.