কম্পিউটার টিউটোরিয়াল

C#-এ অ্যারের র‍্যাঙ্ক (Rank) বের করা

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 দিয়ে প্রতিটি ডাইমেনশনের সাইজ পাওয়া যায়
  1. C#-এ অ্যারের র‍্যাঙ্ক কীভাবে ডিফাইন করবেন?

  2. C#-এ অ্যারে কীভাবে ইনিশিয়ালাইজ করবেন?

  3. C#-এ অ্যারের ডাইমেনশন সংখ্যা কীভাবে জানবেন?

  4. C#-এ অ্যারের দৈর্ঘ্য কীভাবে জানবেন?