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

C#-তে অ্যারে-এর নির্দিষ্ট ডাইমেনশনের এলিমেন্ট সংখ্যা বের করা

Array.GetLongLength(int dimension)

এই মেথড নির্দিষ্ট ডাইমেনশনের (০-ভিত্তিক) এলিমেন্ট সংখ্যা রিটার্ন করে ৬৪-বিট ইন্টিজার (long) হিসেবে। বড় অ্যারে (২³¹ এর বেশি এলিমেন্ট) এর জন্য এটি বাধ্যতামূলক।

অন্যান্য উপযোগী মেথড

মেথডরিটার্নবিবরণ
GetLength(int dimension)int৩২-বিট, সাধারণ ব্যবহারের জন্য
GetLongLength(int dimension)long৬৪-বিট, বড় অ্যারের জন্য
GetLowerBound(int dimension)intনিচের বাউন্ড (সাধারণত ০)
GetUpperBound(int dimension)intউপরের বাউন্ড (Length - 1)
Rankintডাইমেনশনের সংখ্যা
Lengthintমোট এলিমেন্ট (সকল ডাইমেনশন)

উদাহরণ ১: এক-ডাইমেনশনাল অ্যারে


using System;

public class Demo {
    public static void Main() {
        string[] products = new string[] { "Andy", "Mark", "Gary", "Andre" };
        
        Console.WriteLine($"Array.Exists (starts with 'A'): {Array.Exists(products, e => e.StartsWith("A"))}");
        Console.WriteLine($"IsFixedSize: {products.IsFixedSize}");
        Console.WriteLine($"IsReadOnly: {products.IsReadOnly}");
        Console.WriteLine($"IsSynchronized: {products.IsSynchronized}");
        Console.WriteLine($"Lower Bound (dim 0): {products.GetLowerBound(0)}");
        Console.WriteLine($"Upper Bound (dim 0): {products.GetUpperBound(0)}");
        Console.WriteLine($"GetLength(0): {products.GetLength(0)}");
        Console.WriteLine($"GetLongLength(0): {products.GetLongLength(0)}");
    }
}

আউটপুট:

Array.Exists (starts with 'A'): True
IsFixedSize: True
IsReadOnly: False
IsSynchronized: False
Lower Bound (dim 0): 0
Upper Bound (dim 0): 3
GetLength(0): 4
GetLongLength(0): 4

উদাহরণ ২: তিন-ডাইমেনশনাল অ্যারে


string[, ,] stdNames = new string[, ,] {
    { { "John", "Gary" }, { "Jacob", "Harry" } },
    { { "Kevin", "Ryan" }, { "David", "Mark" } }
};

Console.WriteLine($"Rank (dimensions): {stdNames.Rank}");              // 3
Console.WriteLine($"Total Length: {stdNames.Length}");                 // 8
Console.WriteLine($"GetLength(0): {stdNames.GetLength(0)}");           // 2
Console.WriteLine($"GetLength(1): {stdNames.GetLength(1)}");           // 2
Console.WriteLine($"GetLength(2): {stdNames.GetLength(2)}");           // 2
Console.WriteLine($"GetLongLength(0): {stdNames.GetLongLength(0)}");   // 2
Console.WriteLine($"GetLongLength(1): {stdNames.GetLongLength(1)}");   // 2
Console.WriteLine($"GetLongLength(2): {stdNames.GetLongLength(2)}");   // 2
Console.WriteLine($"GetLowerBound(1): {stdNames.GetLowerBound(1)}");   // 0
Console.WriteLine($"GetUpperBound(2): {stdNames.GetUpperBound(2)}");   // 1

আউটপুট:

Rank (dimensions): 3
Total Length: 8
GetLength(0): 2
GetLength(1): 2
GetLength(2): 2
GetLongLength(0): 2
GetLongLength(1): 2
GetLongLength(2): 2
GetLowerBound(1): 0
GetUpperBound(2): 1

জেগার ফরম্যাট: ডাইমেনশন ভিজ্যুয়ালাইজেশন

stdNames[2, 2, 2] ভিজ্যুয়ালি:

Dimension 0 (Depth): 2 layers
  Layer 0:           Layer 1:
  Dim1\Dim2  0   1   Dim1\Dim2  0   1
      0     John Gary     0     Kevin Ryan
      1     Jacob Harry   1     David Mark

সতর্কতা

  • GetLongLength .NET Framework 2.0+ এ উপলব্ধ
  • অবৈধ ডাইমেনশন ইনডেক্স দিলে IndexOutOfRangeException
  • জেগার অ্যারে (Jagged Array: int[][]) এর জন্য arr[i].Length ব্যবহার করুন

Jagged Array উদাহরণ


int[][] jagged = new int[3][];
jagged[0] = new int[] { 1, 2 };
jagged[1] = new int[] { 3, 4, 5, 6 };
jagged[2] = new int[] { 7 };

for (int i = 0; i < jagged.Length; i++) {
    Console.WriteLine($"Row {i}: Length = {jagged[i].Length}");
}
  1. C# প্রোগ্রাম অ্যারের শেষ থেকে নির্দিষ্ট সংখ্যক উপাদান ফেরত দেওয়ার জন্য

  2. সি শার্প প্রোগ্রাম: অ্যরেতে প্রাথমিক উপাদানগুলো বাদ দেওয়া (Skip)

  3. C#-এ বাইট অ্যারের বাইট কাউন্ট করা

  4. C#-এ অ্যারে (Array) থেকে এলিমেন্ট অ্যাক্সেস করা