如何在 C# 中使用指標符號訪問陣列的元素?


在 C# 中使用指標需要 unsafe 修飾符。此外,陣列元素可以使用指標透過 fixed 關鍵字訪問。這是因為陣列和指標資料型別不同。例如:資料型別 int[] 不同於 int*。

下面給出了一個演示如何使用指標訪問陣列元素的程式。

示例

using System;
namespace PointerDemo {
   class Example {
      public unsafe static void Main() {
         int[] array = {55, 23, 90, 76, 9, 57, 18, 89, 23, 5};
         int n = array.Length;
         fixed(int *ptr = array)
         for ( int i = 0; i < n; i++) {
            Console.WriteLine("array[{0}] = {1}", i, *(ptr + i));
         }
      }
   }
}

輸出

上述程式的輸出如下所示。

array[0] = 55
array[1] = 23
array[2] = 90
array[3] = 76
array[4] = 9
array[5] = 57
array[6] = 18
array[7] = 89
array[8] = 23
array[9] = 5

現在讓我們瞭解一下上述程式。

陣列包含 10 個 int 型別的元素。指標 ptr 使用 fixed 關鍵字指向陣列的開頭。然後使用 for 迴圈顯示所有陣列值。其程式碼片段如下所示 −

int[] array = {55, 23, 90, 76, 9, 57, 18, 89, 23, 5};
int n = array.Length;
fixed(int *ptr = array)
for ( int i = 0; i < n; i++) {
   Console.WriteLine("array[{0}] = {1}", i, *(ptr + i));
}

更新於: 2020 年 6 月 26 日

670 次瀏覽

職業生涯騰飛

完成課程並獲得認證

立即開始
廣告
© . All rights reserved.