ภาพรวม
ใช้ Property Rank ของ Array เพื่อหาจำนวนมิติ (Dimensions) - 1D=1, 2D=2, 3D=3, ฯลฯ
โค้ดตัวอย่าง
using System;
class Demo {
static void Main() {
// 1D Array
int[] arr1D = new int[5];
Console.WriteLine($"1D Array Rank: {arr1D.Rank}"); // 1
// 2D Array (Rectangular)
int[,] arr2D = new int[3, 4];
Console.WriteLine($"2D Array Rank: {arr2D.Rank}"); // 2
// 3D Array
int[,,] arr3D = new int[2, 3, 4];
Console.WriteLine($"3D Array Rank: {arr3D.Rank}"); // 3
// Jagged Array (Array of Arrays) - Rank = 1
int[][] jagged = new int[3][];
jagged[0] = new int[2];
jagged[1] = new int[3];
jagged[2] = new int[4];
Console.WriteLine($"Jagged Array Rank: {jagged.Rank}"); // 1 (เป็น 1D array ของ arrays)
}
}
ผลลัพธ์
1D Array Rank: 1
2D Array Rank: 2
3D Array Rank: 3
Jagged Array Rank: 1
คุณสมบัติอื่นๆ ที่เกี่ยวข้อง
int[,] arr = new int[3, 4];
Console.WriteLine($"Rank: {arr.Rank}"); // 2
Console.WriteLine($"Length: {arr.Length}"); // 12 (total elements)
Console.WriteLine($"GetLength(0): {arr.GetLength(0)}"); // 3 (rows)
Console.WriteLine($"GetLength(1): {arr.GetLength(1)}"); // 4 (cols)
Console.WriteLine($"GetLowerBound(0): {arr.GetLowerBound(0)}"); // 0
Console.WriteLine($"GetUpperBound(0): {arr.GetUpperBound(0)}"); // 2
Console.WriteLine($"GetLowerBound(1): {arr.GetLowerBound(1)}"); // 0
Console.WriteLine($"GetUpperBound(1): {arr.GetUpperBound(1)}"); // 3
ผลลัพธ์เพิ่มเติม
Rank: 2
Length: 12
GetLength(0): 3
GetLength(1): 4
GetLowerBound(0): 0
GetUpperBound(0): 2
GetLowerBound(1): 0
GetUpperBound(1): 3
สรุป
Rank: จำนวนมิติ (dimensions)Length: จำนวน elements ทั้งหมด (product of all dimensions)GetLength(dimension): ขนาดของมิติที่ระบุ (0-based)GetLowerBound/GetUpperBound: ขอบเขตดัชนี (มักเป็น 0 และ Length-1)- Jagged array (
int[][]) มี Rank = 1 เพราะเป็น array ของ arrays