Flo*_*ian 54 c# dictionary list
我只想从字典值中获取一个列表,但它并不像看起来那么简单!
这里的代码:
Dictionary<string, List<MyType>> myDico = GetDictionary();
List<MyType> items = ???
Run Code Online (Sandbox Code Playgroud)
我尝试:
List<MyType> items = new List<MyType>(myDico.values)
Run Code Online (Sandbox Code Playgroud)
但它不起作用:-(
Sli*_*ead 89
怎么样:
var values = myDico.Values.ToList();
Run Code Online (Sandbox Code Playgroud)
Vde*_*edT 49
当然,myDico.Values是List<List<MyType>>
.
如果要平展列表,请使用Linq
var items = myDico.SelectMany (d => d.Value).ToList();
Run Code Online (Sandbox Code Playgroud)
SLa*_*aks 26
您可能希望将所有列表展平Values
为一个列表:
List<MyType> allItems = myDico.Values.SelectMany(c => c).ToList();
Run Code Online (Sandbox Code Playgroud)
小智 26
另一个变种:
List<MyType> items = new List<MyType>();
items.AddRange(myDico.values);
Run Code Online (Sandbox Code Playgroud)
小智 9
我的OneLiner:
var MyList = new List<MyType>(MyDico.Values);
Run Code Online (Sandbox Code Playgroud)