【发布时间】:2014-09-24 15:02:15
【问题描述】:
我正在尝试创建一个在构造过程中采用可变数量参数的结构,目的是将此对象用作字典键(我的 .Net 版本不支持 Tuple 类型):
struct TupleKey
{
int[] args;
public TupleKey(params int[] args) { this.args = args; }
}
但是,当我将此 struct 用作字典的键时,ContainsKey 方法返回 false。
var d = new Dictionary<TupleKey, int>();
d.Add(new TupleKey(1, 1), 1);
Console.WriteLine(d.ContainsKey(new TupleKey(1,1))); // false!?
发生了什么事?在结构中使用可变对象(如数组)有问题吗?
【问题讨论】:
-
因为它是一个动态数组,需要指定它的大小。
-
@karlsweeney 不,根本不是这样。