Dictionary 字典键(List<;int>;)在C中检索#
假设我将我的dict定义如下Dictionary 字典键(List<;int>;)在C中检索#,dictionary,c#-2.0,Dictionary,C# 2.0,假设我将我的dict定义如下 Dictionary d=newdictionary() 如何快速检索dict键和值 [更新] 我想获取密钥列表内容。 我试了一个简单的方法如下 List KeysList=新列表(d.Keys) 但在我的案件中,它在复杂的关键点上不起作用 我只能按以下方式使用KeyValuePair foreach (KeyValuePair<List<int>, List<string>> pair in d) { KeysList
Dictionary d=newdictionary()
如何快速检索dict键和值
[更新]
我想获取密钥列表内容。
我试了一个简单的方法如下
List KeysList=新列表(d.Keys)代码>
但在我的案件中,它在复杂的关键点上不起作用
我只能按以下方式使用KeyValuePair
foreach (KeyValuePair<List<int>, List<string>> pair in d)
{
KeysList= new List<int>(pair.Key);
}
foreach(d中的KeyValuePair对)
{
KeysList=新列表(pair.Key);
}
您首先遇到了一个潜在的问题:列表
不会覆盖Equals,因此您必须使用完全相同的键引用来获取键的值
话虽如此,如果你有参考资料,它很简单
List<string> value = d[key];
列表值=d[键];
或
列表值;
if(d.TryGetValue(键,输出值))
{
...
}
但是,将列表作为一个键是很不寻常的-你能告诉我们更多关于你想做什么吗?可能有更好的方法。您首先遇到了一个潜在问题:List
不重写Equals,因此您必须使用完全相同的键引用来获取键的值
话虽如此,如果你有参考资料,它很简单
List<string> value = d[key];
列表值=d[键];
或
列表值;
if(d.TryGetValue(键,输出值))
{
...
}
但是,将列表作为一个键是很不寻常的-你能告诉我们更多关于你想做什么吗?可能有更好的方法。你说的快速是什么意思?“你想访问什么?”伊拉什。我迅速地更新了我的方式。就像简单的d.keys
方法一样,您是否可能正在查找词典
?这将使最后一行List KeysList=d.Keys
@Kobi,没有。实际上我正在寻找List
作为KeysList
(假设有一个键收集了一些列表项,一个值收集了一些列表项)哦,好的。您能添加这样一个字典的示例(例如,键是{1}、{1,2,3}、{20,30,1,1}
),以及您期望的输出示例吗?快速是什么意思?“你想访问什么?”伊拉什。我迅速地更新了我的方式。就像简单的d.keys
方法一样,您是否可能正在查找词典
?这将使最后一行List KeysList=d.Keys
@Kobi,没有。实际上我正在寻找List
作为KeysList
(假设有一个键收集了一些列表项,一个值收集了一些列表项)哦,好的。请您添加这样一个字典的示例(例如,键是{1}、{1,2,3}、{20,30,1,1}
),以及您期望的输出的示例?请您详细说明第一点-您所说的“完全相同的键引用”是什么意思?对于同一个列表的两个引用,或者来自Dictionary.Keys的引用,它不起作用吗?我不能尝试list value=d[key]代码>。这对我的案子不起作用。这是一个函数调用,我不知道确切的键。顺便说一句,我更新了上面的输入。@Nano:你的问题还是不清楚。你说的是“列表
,但字典的要点是每个键都是一个列表
。你对哪一个感兴趣?如果你能提供一个简短但完整的例子来说明你所说的,那么对你的帮助就会容易得多。你能详细说明第一点吗?你所说的“完全相同的关键引用”是什么意思?对于同一个列表的两个引用,或者来自Dictionary.Keys的引用,它不起作用吗?我不能尝试list value=d[key]代码>。这对我的案子不起作用。这是一个函数调用,我不知道确切的键。顺便说一句,我更新了上面的输入。@Nano:你的问题还是不清楚。你说的是“列表
,但字典的要点是每个键都是一个列表
。你对哪一个感兴趣?如果你能提供一个简短但完整的例子来说明你在说什么,那么帮助你就会容易得多。