【发布时间】:2018-09-06 18:50:19
【问题描述】:
我有许多实体需要在它们之间共享数据。两个实体都会从这个字典中请求值。
public class Key {
public string nameA;
public string nameB;
}
public class SharedValue {
public int id;
}
private Dictionary<Key, SharedValue> relation = new Dictionary<Key, SharedValue>();
然后添加到字典中。
relation.Add(new Key(){ nameA = "User1", nameB = "User2" }, new SharedValue(){ id = -11 });
最后,我希望无论 nameA 或 nameB 的顺序如何,我都能得到一个共享的 SharedValue。
relation[new Key(){ nameA = "User1", nameB = "User2" }].id // Get -11
relation[new Key(){ nameA = "User2", nameB = "User1" }].id // Get -11
【问题讨论】:
-
你能解释一下你的问题是什么吗?
-
只要
Key不覆盖Equals()和GetHashCode(),一个标准实现将用于为您的Dictionary生成哈希码
标签: c# dictionary