دوال المصفوفات
جزء من قسم Fundamentals في رحلة C# على Coddy — الدرس 58 من 69.
المصفوفات مزودة بالعديد من الميثودز (الوظائف). للوصول إلى ميثود، اكتب:
Array.MethodName(arrayName, otherParameters)طرق المصفوفات الشائعة:
Clear(array, index, length) - تقوم بمسح عناصر المصفوفة، حيث تضبط نطاقاً من العناصر إلى صفر (zero) أو خطأ (false) أو فارغ (null):
int[] numbers = {1, 2, 3, 4, 5};
Array.Clear(numbers, 1, 3);
// ستكون numbers هي {1, 0, 0, 0, 5}Reverse(array) - يعكس ترتيب العناصر في المصفوفة:
int[] numbers = {1, 2, 3, 4, 5};
Array.Reverse(numbers);
// ستكون numbers هي {5, 4, 3, 2, 1}Sort(array) - يقوم بفرز العناصر في مصفوفة بترتيب تصاعدي:
int[] numbers = {5, 2, 9, 1, 5, 6};
Array.Sort(numbers);
// ستكون الأرقام {1, 2, 5, 5, 6, 9}Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length) - يقوم بنسخ نطاق من العناصر من مصفوفة إلى أخرى:
int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[5];
Array.Copy(source, 0, destination, 0, 5);
// ستكون destination هي {1, 2, 3, 4, 5}مثال بمواقع مختلفة:
int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[7];
Array.Copy(source, 1, destination, 2, 3);
// ستكون المصفوفة الوجهة {0, 0, 2, 3, 4, 0, 0}
// تم نسخ العناصر 2، 3، 4 من المصدر بدءاً من الفهرس 1
// تم وضعهم في الوجهة بدءاً من الفهرس 2التحدي
سهلأنشئ دالة تسمى Merge تستقبل مصفوفتين كوسطاء. تقوم الدالة بدمج المصفوفتين في مصفوفة واحدة مرتبة وتعيدها.
على سبيل المثال، الوسطاء التالية: Merge(new string[] {"1", “4”, “2”}, new string[] {"2", “5”, “9”}) ستعيد ["1", “2”, “2”, “4”, “5”, “9”]
استخدم Array.Copy() لنسخ العناصر من مصفوفة إلى أخرى. الصيغة هي:
Array.Copy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)على سبيل المثال:
// مصفوفة المصدر
string[] sourceArray = {"1", "2", "3", "4", "5"};
// مصفوفة الوجهة
string[] destinationArray = new string[5];
// نسخ العناصر من sourceArray إلى destinationArray
Array.Copy(sourceArray, 0, destinationArray, 0, 5);مصفوفة الوجهة بعد النسخ: 1 2 3 4 5
ورقة مرجعية
تمتلك المصفوفات أساليب (methods) مدمجة يتم الوصول إليها باستخدام صيغة Array.MethodName():
Clear(array, index, length)- تضبط العناصر على صفر، أو false، أو nullReverse(array)- تعكس ترتيب العناصرSort(array)- ترتب العناصر بترتيب تصاعديCopy(sourceArray, sourceIndex, destinationArray, destinationIndex, length)- تنسخ العناصر بين المصفوفات
أمثلة:
int[] numbers = {1, 2, 3, 4, 5};
Array.Clear(numbers, 1, 3);
// ستكون numbers هي {1, 0, 0, 0, 5}int[] numbers = {1, 2, 3, 4, 5};
Array.Reverse(numbers);
// ستكون numbers هي {5, 4, 3, 2, 1}int[] numbers = {5, 2, 9, 1, 5, 6};
Array.Sort(numbers);
// ستكون numbers هي {1, 2, 5, 5, 6, 9}int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[5];
Array.Copy(source, 0, destination, 0, 5);
// ستكون destination هي {1, 2, 3, 4, 5}جرّب بنفسك
using System;
public class Program {
public static string[] Merge(string[] arr1, string[] arr2) {
// اكتب الكود هنا
}
public static void Main(string[] args) {
string textArr1 = Console.ReadLine();
string textArr2 = Console.ReadLine();
string[] arr1 = textArr1.Split(",");
string[] arr2 = textArr2.Split(",");
string[] mergedArray = Merge(arr1, arr2);
Console.WriteLine(string.Join(", ", mergedArray));
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانالزيادة والنقصان اللاحقاختصارات العمليات الحسابية7أساسيات الإدخال والإخراج (Basic IO)
الإخراج الأساسيتضمين النصوص (String Interpolation)قراءة المدخلاتالتحليل (Parse)مراجعة - حتى 120مراجعة - True أو False5المعاملات - الجزء الثاني
معاملات المقارنةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث11أساسيات المصفوفات
تعريف المصفوفاتالوصول إلى العناصرتعديل المصفوفاتدوال المصفوفاتمراجعة - مصفوفة المنتجاتتعديل المراجعة - المصفوفة المعكوسة