Thuộc tính Array.Rank trả về số chiều của mảng (1 cho mảng 1D, 2 cho 2D, v.v.).
Ví dụ minh họa
using System;
class Program
{
static void Main()
{
// Mảng 1 chiều
int[] arr1D = new int[5];
Console.WriteLine($"int[5]: Rank = {arr1D.Rank}"); // 1
// Mảng 2 chiều
int[,] arr2D = new int[3, 4];
Console.WriteLine($"int[3,4]: Rank = {arr2D.Rank}"); // 2
// Mảng 3 chiều
int[,,] arr3D = new int[2, 3, 4];
Console.WriteLine($"int[2,3,4]: Rank = {arr3D.Rank}"); // 3
// Mảng răng cưa (jagged array) - Rank luôn = 1
int[][] jagged = new int[3][];
jagged[0] = new int[2];
jagged[1] = new int[3];
jagged[2] = new int[4];
Console.WriteLine($"int[][]: Rank = {jagged.Rank}"); // 1 (mảng của mảng)
// Thông tin chi tiết mảng 2D
Console.WriteLine($"\nChi tiết int[3,4]:");
Console.WriteLine($"Length (tổng phần tử): {arr2D.Length}"); // 12
Console.WriteLine($"GetLength(0): {arr2D.GetLength(0)}"); // 3
Console.WriteLine($"GetLength(1): {arr2D.GetLength(1)}"); // 4
Console.WriteLine($"GetLowerBound(0): {arr2D.GetLowerBound(0)}"); // 0
Console.WriteLine($"GetUpperBound(0): {arr2D.GetUpperBound(0)}"); // 2
Console.WriteLine($"GetLowerBound(1): {arr2D.GetLowerBound(1)}"); // 0
Console.WriteLine($"GetUpperBound(1): {arr2D.GetUpperBound(1)}"); // 3
}
}
Kết quả đầu ra
int[5]: Rank = 1 int[3,4]: Rank = 2 int[2,3,4]: Rank = 3 int[][]: Rank = 1 Chi tiết int[3,4]: Length (tổng phần tử): 12 GetLength(0): 3 GetLength(1): 4 GetLowerBound(0): 0 GetUpperBound(0): 2 GetLowerBound(1): 0 GetUpperBound(1): 3
Phân biệt: Rank = số chiều. Length = tổng số phần tử. GetLength(d) = kích thước chiều d. Jagged array Rank = 1 vì bản chất là mảng 1D chứa các mảng 1D.