【发布时间】:2014-03-27 15:50:33
【问题描述】:
这些是我必须使用的固定数据结构,我无法重新定义或更改它们。
我正在遍历一个列表,列表中的每个对象如下所示(在 Visual Studio 中悬停)。
{[ida: 828, idb: 133, XXX.XXX.XXX.MyObject]}
Key: {ida: 828, idb: 133}
Value: {XXX.XXX.XXX.MyObject}
我将如何通过键在此列表中查找值,即说明如何在给定键之一(例如 ida=828)的情况下查找值。我可以在浏览列表时取出键值,但有没有办法更快地做到这一点? IE。给定 828 我可以获得价值,而不是像 ida=828 或 object.key.ida[828]
其中一个问题是这些数据类型不可更改。有什么建议么。是否有唯一的方法可以让说 ida 循环所有对象?
我知道我可以使用 .Equals 来确定键值是否存在,即 object.key.ida.Equals(828), 但这仍然留下了获取值的问题。这可能吗?
数据结构如下:
Collection<string, Key, Tstuff>
public struct Key
{
public long ida;
public long idb;
}
Tstuff 是一个泛型类型,但在这种情况下是通过以下方式传递的(实际上是上面的值):
public struct D2
{
public float A;
public float B;
}
【问题讨论】:
-
Multi-key dictionary in c#? 的可能重复项
标签: c# dictionary key