我想創建一個結構,在構造過程中需要可變數量的參數,意圖將該對象用作字典鍵(我的Tuple
類型不受支持的.NET版本):C#結構字典鍵不能與陣列成員一起工作
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!?
發生了什麼事?在結構中使用可變對象(如數組)時是否存在問題?
因爲它的動態數組需要指定它的大小。 – ZoomVirus 2014-09-24 15:05:24
@karlsweeney不,根本不是這種情況。 – Servy 2014-09-24 15:09:38