2012-05-19 44 views
0

我想聲明一個包含布爾值和長列表的元組。在c中聲明長列表的元組#

這是我有什麼,但它的紅色下劃線上的最後名單:

Tuple<bool, List<long>> TheTuple = new Tuple<bool,List<long>>(false, List<long>); 

我缺少什麼?

謝謝。

+2

新名單() –

+0

@AnthonyPegram:沒有,試過了,它不工作。 – frenchie

+2

再試一次。這一次*感覺。* –

回答

3
Tuple<bool, List<long>> TheTuple = Tuple.Create(false, default(List<long>)); 

注意,它將設置的元組的Item2屬性設置爲null,這也許不是你想要的。如果你想將它設置爲實際List<long>,使用new List<long>()

Tuple<bool, List<long>> TheTuple = Tuple.Create(false, new List<long>()); 
+0

好吧,不知道關於默認的關鍵字。謝謝! – frenchie

+0

@frenchie,默認關鍵字不會幫助你。 'default(T)'對於引用類型的結果是null。元組Item2屬性是隻讀的。我想象一個帶有凍結空引用的元組不是你想要的。 –

+0

@AnthonyPegram,這就是我認爲的OP想要的,但你是對的,在一般情況下,將List 的實際實例更有意義。然而,列表是可變的,而元組不是,所以有哲學上的理由不這樣做。最好的做法可能是使用ReadOnlyCollection 而不是列表。 –

0

您正在向構造函數傳入類型描述,您需要傳入該類型的變量。 (可能是一個衛生署!片刻)