تمرير الصفائف كأنها وسيطات (دليل البرمجة لـ #C)

يمكن تمرير الصفائف كوسيطات إلى معلمات الأسلوب. لأن الصفائف عبارة عن أنواع مرجع يمكن للأسلوب تغيير قيم العناصر.

تمرير الصفائف أحادية الأبعاد كوسيطات

يمكنك تمرير صفيف أحادي البعد تمت تهيئته إلى أسلوب. على سبيل المثال، ترسل العبارة التالية صفيف إلى أسلوب طباعة.

int[] theArray = { 1, 3, 5, 7, 9 };
PrintArray(theArray);

تظهر التعليمات البرمجية التالية تطبيق جزئي لأسلوب الطباعة.

void PrintArray(int[] arr)
{
    // Method code.
}

يمكنك تهيئة ثم تمرير صفيف جديد في خطوة واحدة كما هو موضح في المثال التالي.

PrintArray(new int[] { 1, 3, 5, 7, 9 });

المثال

الوصف

في المثال التالي، يتم تهيئة صفيف سلاسل حرفية ويتم تمريره كوسيطة إلى الأسلوب PrintArray للسلاسل. يعرض الأسلوب عناصر الصفيف.

الرمز

class ArrayClass
{
    static void PrintArray(string[] arr)
    {
        for (int i = 0; i < arr.Length; i++)
        {
            System.Console.Write(arr[i] + "{0}", i < arr.Length - 1 ? " " : "");
        }
        System.Console.WriteLine();
    }

    static void Main()
    {
        // Declare and initialize an array.
        string[] weekDays = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };

        // Pass the array as an argument to PrintArray.
        PrintArray(weekDays);
    }
}
// Output: Sun Mon Tue Wed Thu Fri Sat

تمرير الصفائف متعددة الأبعاد كوسيطات

يمكنك تمرير صفيف متعدد الأبعاد تمت تهيئته إلى أسلوب بنفس الطريقة تقوم بها لتمرير صفيف أحادي الأبعاد.

int[,] theArray = { { 1, 2 }, { 2, 3 }, { 3, 4 } };
Print2DArray(theArray);

تظهر التعليمات البرمجية التالية تعريف جزئي لأسلوب طباعة يقبل صفيف ثنائي الأبعاد كوسيطة.

void Print2DArray(int[,] arr)
{
    // Method code.
}

يمكنك تهيئة ثم تمرير صفيف جديد في خطوة واحدة كما هو موضح في المثال التالي.

Print2DArray(new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } });

المثال

الوصف

في المثال التالي يتم تهيئة صفيف ثنائي الأبعاد من الأعداد الصحيحة تهيئة ويتم تمريره إلى الأسلوب Print2DArray. يعرض الأسلوب عناصر الصفيف.

الرمز

class ArrayClass2D
{
    static void Print2DArray(int[,] arr)
    {
        // Display the array elements.
        for (int i = 0; i < arr.GetLength(0); i++)
        {
            for (int j = 0; j < arr.GetLength(1); j++)
            {
                System.Console.WriteLine("Element({0},{1})={2}", i, j, arr[i, j]);
            }
        }
    }
    static void Main()
    {
        // Pass the array as an argument.
        Print2DArray(new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } });

        // Keep the console window open in debug mode.
        System.Console.WriteLine("Press any key to exit.");
        System.Console.ReadKey();
    }
}
    /* Output:
        Element(0,0)=1
        Element(0,1)=2
        Element(1,0)=3
        Element(1,1)=4
        Element(2,0)=5
        Element(2,1)=6
        Element(3,0)=7
        Element(3,1)=8
    */

راجع أيضًا:

المرجع

الصفائف (دليل البرمجة لـ #C)

الصفائف أحادية الأبعاد ( ارشادات برمجة C# )

الصفيف متعدد الأبعاد ( ارشادات برمجة C# )

الصفائف المزدحمة (إرشادات البرمجة لـ C#)

المبادئ

دليل البرمجة لـ #C