21.指針運算
在C#中,指針運算可以被使用在被標為unsafe修飾符的方法裡。當指針指向一個可被垃圾收集的對象的時候,編譯器強迫使用fixed關鍵字去固定對象。這是因為垃圾收集器是靠移動對象來回收內存的。但是如果當你使用原始指針時,它所指的對象被移動了,那你的指針將指向垃圾。我認為這兒用unsafe這個關鍵字是個好的選擇—它不鼓勵開發人員使用指針除非他們真的想這麼做。
22.多維數組
C#可以創建交錯數組【譯注:交錯數組是元素為數組的數組。交錯數組元素的維度和大小可以不同】和多維數組。交錯數組和Java的數組非常類似。多維數組使得可以更有效、更准確地表達特定問題。以下是這種數組的一個例子:
int [,,] array = new int [3, 4, 5]; // 創建一個數組
int [1,1,1] = 5;//【譯注:此行代碼有誤:應為array[1,1,1] = 5;】
使用交錯數組:
int [][][] array = new int [3][4][5]; // 【譯注:此行代碼有誤,應為:int [][][] array = new int[3][][];】
int [1][1][1] = 5; 【譯注:此行代碼有誤:應為array[1][1][1] = 5;】【譯注:小心使用交錯數組】
若和結構聯合使用,C#提供的高效率使得數組成為圖形和數學領域的一個好的選擇。