C#-এ অ্যারের র্যাঙ্ক (Rank) মানে অ্যারের ডাইমেনশন সংখ্যা। ১D অ্যারের র্যাঙ্ক ১, ২D অ্যারের র্যাঙ্ক ২, জ্যাগড অ্যারের র্যাঙ্ক ১ (কারণ এটি অ্যারে-অফ-অ্যারে)।
Rank প্রপার্টি ব্যবহার
using System;
class Demo
{
static void Main()
{
// ১D অ্যারে
int[] arr1D = new int[10];
Console.WriteLine($"১D অ্যারে Rank: {arr1D.Rank}"); // 1
// ২D অ্যারে (মাল্টি-ডাইমেনশনাল)
int[,] arr2D = new int[3, 3];
Console.WriteLine($"২D অ্যারে Rank: {arr2D.Rank}"); // 2
// ৩D অ্যারে
int[,,] arr3D = new int[2, 3, 4];
Console.WriteLine($"৩D অ্যারে Rank: {arr3D.Rank}"); // 3
// জ্যাগড অ্যারে (Array of Arrays)
int[][] jagged = new int[5][];
Console.WriteLine($"জ্যাগড অ্যারে Rank: {jagged.Rank}"); // 1 (এটি ১D অ্যারে যার এলিমেন্টে অ্যারে)
// প্রতিটি সাব-অ্যারের র্যাঙ্ক
for (int i = 0; i < jagged.Length; i++)
{
jagged[i] = new int[i + 1];
Console.WriteLine($" jagged[{i}] Rank: {jagged[i].Rank}"); // সব 1
}
}
}
আউটপুট
১D অ্যারে Rank: 1
২D অ্যারে Rank: 2
৩D অ্যারে Rank: 3
জ্যাগড অ্যারে Rank: 1
jagged[0] Rank: 1
jagged[1] Rank: 1
jagged[2] Rank: 1
jagged[3] Rank: 1
jagged[4] Rank: 1
Rank সম্পর্কে আরও তথ্য
int[,] matrix = new int[3, 4]; // 3 rows, 4 columns
Console.WriteLine($"Rank: {matrix.Rank}"); // 2
Console.WriteLine($"Length (total elements): {matrix.Length}"); // 12
Console.WriteLine($"GetLength(0): {matrix.GetLength(0)}"); // 3 (rows)
Console.WriteLine($"GetLength(1): {matrix.GetLength(1)}"); // 4 (cols)
Console.WriteLine($"GetLowerBound(0): {matrix.GetLowerBound(0)}"); // 0
Console.WriteLine($"GetUpperBound(0): {matrix.GetUpperBound(0)}"); // 2
Console.WriteLine($"GetLowerBound(1): {matrix.GetLowerBound(1)}"); // 0
Console.WriteLine($"GetUpperBound(1): {matrix.GetUpperBound(1)}"); // 3
জ্যাগড অ্যারে vs মাল্টি-ডাইমেনশনাল অ্যারে
| ফিচার | Multi-dimensional (int[,]) | Jagged (int[][]) |
|---|---|---|
| Rank | > 1 (২, ৩, ...) | ১ (সর্বদা) |
| মেমরি লেআউট | সিঙ্গল কন্টিগুয়াস ব্লক | অ্যারে অফ অ্যারে (স্ক্যাটারড) |
| রো সাইজ | ফিক্সড (সব রো সমান) | ভেরিয়েবল (প্রতিটি রো আলাদা সাইজ) |
| অ্যাক্সেস স্পিড | দ্রুত (ক্যাশে-ফ্রেন্ডলি) | কुछটা ধীর (ইন্ডিরেকশন) |
| সিনট্যাক্স | `arr[i, j]` | `arr[i][j]` |
র্যাঙ্ক চেক করার ইউটিলিটি মেথড
public static void PrintArrayInfo(Array array)
{
Console.WriteLine($"Type: {array.GetType().Name}");
Console.WriteLine($"Rank: {array.Rank}");
Console.WriteLine($"Total Length: {array.Length}");
for (int i = 0; i < array.Rank; i++)
{
Console.WriteLine($" Dimension {i}: Lower={array.GetLowerBound(i)}, Upper={array.GetUpperBound(i)}, Length={array.GetLength(i)}");
}
}
// ব্যবহার
PrintArrayInfo(new int[3, 4, 5]);
PrintArrayInfo(new int[2][] { new int[3], new int[5] });
সারসংক্ষেপ
Array.Rankপ্রপার্টি ডাইমেনশন সংখ্যা রিটার্ন করে- ১D অ্যারে: Rank = 1
- ২D অ্যারে (`int[,]`): Rank = 2
- জ্যাগড অ্যারে (`int[][]`): Rank = 1 (প্রতিটি সাব-অ্যারেও Rank = 1)
GetLength(dimension),GetLowerBound,GetUpperBoundদিয়ে প্রতিটি ডাইমেনশনের সাইজ পাওয়া যায়