Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ขอบเขตของอาร์เรย์ 3 มิติใน C#


ภาพรวม

ใช้เมธอด GetUpperBound() และ GetLowerBound() เพื่อดึงขอบเขตบน (upper bound) และขอบเขตล่าง (lower bound) ของแต่ละมิติในอาร์เรย์ 3 มิติ

รูปแบบการใช้งาน

int[,,] arr = new int[3, 4, 5];
// มิติ 0: Upper=2, Lower=0 (ขนาด 3)
// มิติ 1: Upper=3, Lower=0 (ขนาด 4)
// มิติ 2: Upper=4, Lower=0 (ขนาด 5)

ตัวอย่างโค้ดเต็ม

using System;

class Program
{
    static void Main()
    {
        int[,,] arr = new int[3, 4, 5];
        Console.WriteLine("Dimension 0 Upper Bound: {0}", arr.GetUpperBound(0));
        Console.WriteLine("Dimension 0 Lower Bound: {0}", arr.GetLowerBound(0));
        Console.WriteLine("Dimension 1 Upper Bound: {0}", arr.GetUpperBound(1));
        Console.WriteLine("Dimension 1 Lower Bound: {0}", arr.GetLowerBound(1));
        Console.WriteLine("Dimension 2 Upper Bound: {0}", arr.GetUpperBound(2));
        Console.WriteLine("Dimension 2 Lower Bound: {0}", arr.GetLowerBound(2));
    }
}

ผลลัพธ์

Dimension 0 Upper Bound: 2
Dimension 0 Lower Bound: 0
Dimension 1 Upper Bound: 3
Dimension 1 Lower Bound: 0
Dimension 2 Upper Bound: 4
Dimension 2 Lower Bound: 0

สรุปความสัมพันธ์

  • GetLength(d) = GetUpperBound(d) - GetLowerBound(d) + 1
  • ใน C# GetLowerBound(d) เสมอคืน 0 (zero-based arrays)
  • GetUpperBound(d) = GetLength(d) - 1
  • ใช้ในการวนลูป: for (int i = arr.GetLowerBound(0); i <= arr.GetUpperBound(0); i++)