我知道一個int是一個值類型,但是什么是值類型數組?參考類型?值類型?我想將數組傳遞給函數以檢查某些內容。我應該只傳遞數組,因為它只會傳遞它的引用,還是應該將它作為ref傳遞?
3 回答

MMMHUHU
TA貢獻1834條經驗 獲得超8個贊
首先,我想告訴您Array是引用類型。為什么?我解釋一下這里舉一個例子。
例:
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.
同樣,引用類型可以為null,而值類型不能為null。
值類型存儲在堆棧中,引用類型存儲在堆中
您可以使用out或ref將數組傳遞給函數。只有初始化方法不同。
更多..

米脂
TA貢獻1836條經驗 獲得超3個贊
數組本身是引用類型。該數組的值是由數組數據類型確定的值或引用類型。在您的示例中,數組是引用類型,而值是值類型。
所有一維數組都隱式實現IList<T>
,其中<T>
是數組的數據類型。您可以使用該接口作為方法參數的數據類型。您也可以使用IEnumerable<T>
數據類型。在任何一種情況下(甚至即使您只是使用int[]
),也都不需要顯式地將其作為ref
參數傳遞。
- 3 回答
- 0 關注
- 1796 瀏覽
添加回答
舉報
0/150
提交
取消