列表和词典的问题

Nod*_*oid 0 c#

我对Key和Value的列表字典有疑问.

我的字典就是这样设置的

Dictionary<List<string>,List<double>> f = new Dictionary<List<string>,List<double>>();
Run Code Online (Sandbox Code Playgroud)

(这是出于非常具体的原因).

我的问题是如何将两个列表放入他们自己的列表中.我尝试了以下内容

List<string> s = new List<string>(f.Keys);
List<string> s = f.Select(kvp=>kvp.Keys).ToList()
List<string> s = f.Select(kvp=>kvp.Keys);
List<string> s = f.Keys;
Run Code Online (Sandbox Code Playgroud)

以及使用IEnumerable的变体.无论我做什么,我似乎无法检索键(或使用f.Values,值).

任何帮助在这里将不胜感激.

D S*_*ley 6

字符串列表似乎是字典的一个非常奇怪的键,并且会有自己的复杂性,但你似乎有信心它是正确的,所以我将专注于你的实际问题.

由于Keys是一关键值,每个关键值都是a List<string>,其中任何一个都应该有效:

List<List<string>> s = f.Select(kvp=>kvp.Key).ToList();
List<List<string>> s = f.Keys.ToList();
Run Code Online (Sandbox Code Playgroud)

如果您希望所有字符串作为单个列表(基本上将所有列表连接在一起),您可以使用:

List<string> s2 = f.SelectMany(kvp => kvp.Key).ToList();
Run Code Online (Sandbox Code Playgroud)

SelectMany本质上在整个字典中的每个键中选择从集合中的每个项目.