C# 列表和字典的问题
我对键和值的列表字典有问题 我的字典是这样设置的C# 列表和字典的问题,c#,C#,我对键和值的列表字典有问题 我的字典是这样设置的 Dictionary<List<string>,List<double>> f = new Dictionary<List<string>,List<double>>(); 这是因为一个非常特殊的原因 我的问题是如何将这两个列表放到它们自己的列表中。我试过以下方法 List<string> s = new List<string>(f.Keys);
Dictionary<List<string>,List<double>> f = new Dictionary<List<string>,List<double>>();
这是因为一个非常特殊的原因
我的问题是如何将这两个列表放到它们自己的列表中。我试过以下方法
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;
以及使用IEnumerable的变体。无论我做什么,我似乎无法检索键或使用f值,值
这里的任何帮助都将不胜感激。哈哈,这可能是我最近看到的最有趣的事情了 好的。在c语言中有一种称为KeyValuePair的结构。然后,您可以使用foreach遍历整个数据集,并获得所需的访问权限
foreach(KeyValuePair<<List<string>,List<double>> item in f) {
List<string> key = item.key;
List<double> value = item.value;
}
哈哈,这可能是我最近看到的最有趣的事情了 好的。在c语言中有一种称为KeyValuePair的结构。然后,您可以使用foreach遍历整个数据集,并获得所需的访问权限
foreach(KeyValuePair<<List<string>,List<double>> item in f) {
List<string> key = item.key;
List<double> value = item.value;
}
字符串列表对于字典来说似乎是一个非常奇怪的键,它本身也很复杂,但您似乎相信它是正确的,所以我将重点讨论您的实际问题 由于键是键值的集合,每个键值都是一个列表,因此任何一个键值都应该起作用:
List<List<string>> s = f.Select(kvp=>kvp.Key).ToList();
List<List<string>> s = f.Keys.ToList();
如果希望将所有字符串作为一个列表基本上将所有列表连接在一起,可以使用:
List<string> s2 = f.SelectMany(kvp => kvp.Key).ToList();
SelectMany基本上是从整个字典中每个键内的集合中选择每个项。字符串列表对于字典来说似乎是一个非常奇怪的键,并且会有其自身的复杂性,但您似乎相信它是正确的,因此我将重点讨论您的实际问题 由于键是键值的集合,每个键值都是一个列表,因此任何一个键值都应该起作用:
List<List<string>> s = f.Select(kvp=>kvp.Key).ToList();
List<List<string>> s = f.Keys.ToList();
如果希望将所有字符串作为一个列表基本上将所有列表连接在一起,可以使用:
List<string> s2 = f.SelectMany(kvp => kvp.Key).ToList();
SelectMany基本上是从整个字典中每个键内的集合中选择每个项。如果只有一个键,则表示一个字符串列表:
List<string> newf = f.Keys.ElementAt(0);
如果只有一个键,表示一个字符串列表:
List<string> newf = f.Keys.ElementAt(0);
你为什么要这么做?最终目标是什么?哎呀。我不知道你想做什么。。。但我很确定一定有更好的方法。你确定像元组这样的东西不是更好的解决方案吗?你确定你真正想要的不是列表吗?即使这样,你也可以考虑将内部字典封装成一个更加描述性的类,比如进程设置,而不是嵌套集合。你为什么要这么做?最终目标是什么?哎呀。我不知道你想做什么。。。但我很确定一定有更好的方法。你确定像元组这样的东西不是更好的解决方案吗?你确定你真正想要的不是列表吗?即使这样,你也可以考虑将内部字典封装成一个更为描述性的类,比如进程设置,而不是嵌套集合。你应该看更多有趣的东西。这是VAR关键字的理想候选。Yea,我不是VAR最大的粉丝。我喜欢知道我的对象是什么。C++中的一种残留物。@ ZorleQ——这里是我们如何解决这个问题。当你可以看到行上的类型时,var是很好的内联-但不应该用于方法/属性返回,你必须去别的地方去找出它的类型。你应该看更多有趣的东西。这是VAR关键词的理想候选。Yea,我不是var的最大粉丝。我想知道我的对象是什么。C++中的一种残留物。@ ZorleQ——这里是我们如何解决这个问题。当你可以看到行上的类型时,var是很好的内联-但是不应该在方法/属性返回上使用,你必须去别的地方去找出它的类型。