3 回答

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
首先,我想告訴您Array是引用類(lèi)型。為什么?我解釋一下這里舉一個(gè)例子。
例:
int val = 0; // this is a value type ok
int[] val1 = new int[20] // this is a reference type because space required to store 20 integer value that make array allocated on the heap.
同樣,引用類(lèi)型可以為null,而值類(lèi)型不能為null。
值類(lèi)型存儲(chǔ)在堆棧中,引用類(lèi)型存儲(chǔ)在堆中
您可以使用out或ref將數(shù)組傳遞給函數(shù)。只有初始化方法不同。
更多..

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
數(shù)組本身是引用類(lèi)型。該數(shù)組的值是由數(shù)組數(shù)據(jù)類(lèi)型確定的值或引用類(lèi)型。在您的示例中,數(shù)組是引用類(lèi)型,而值是值類(lèi)型。
所有一維數(shù)組都隱式實(shí)現(xiàn)IList<T>
,其中<T>
是數(shù)組的數(shù)據(jù)類(lèi)型。您可以使用該接口作為方法參數(shù)的數(shù)據(jù)類(lèi)型。您也可以使用IEnumerable<T>
數(shù)據(jù)類(lèi)型。在任何一種情況下(甚至即使您只是使用int[]
),也都不需要顯式地將其作為ref
參數(shù)傳遞。
- 3 回答
- 0 關(guān)注
- 1801 瀏覽
添加回答
舉報(bào)