1. يُرجع طول السمة الشائعة للصفيف عدد العناصر. يتم استخدام LongLength عندما يتجاوز عدد العناصر نطاق النوع int.
2. فئة المصفوفة هي فئة مجردة ولا يمكنها استخدام المُنشئ لإنشاء مصفوفة.
ولكن يمكن القيام به
عرض نسخة عادية إلى الحافظة؟
Array iArray = new int[] { 1, 2, 3, 4 };
لـ (int i = 0; i < iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
Array iArray = new int[] { 1, 2, 3, 4 };
لـ (int i = 0; i < iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
أو استخدم الطريقة الثابتة CreateInstance، خاصة عندما يكون نوع عنصر المصفوفة غير معروف مسبقًا، يمكنك تحديد المصفوفة مثل هذا
يتم استخدام طريقة SetValue للضبط، ويتم استخدام طريقة GetValue للقراءة.
عرض نسخة عادية إلى الحافظة؟
Array array = Array.CreateInstance(typeof(string), 3);
array.SetValue("توم", 0);
array.SetValue("Jack", 1);
array.SetValue("بيل", 2);
لـ (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
Array array = Array.CreateInstance(typeof(string), 3);
array.SetValue("توم", 0);
array.SetValue("Jack", 1);
array.SetValue("بيل", 2);
لـ (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
※ يمكن أيضًا استخدام هذه الطريقة لإنشاء صفائف متعددة الأبعاد
3. لنسخ مصفوفة، استخدم طريقة Clone().
إذا كانت عناصر المصفوفة من نوع القيمة، فسيتم نسخ جميع القيم،
إذا كان عنصر الصفيف عبارة عن نوع مرجعي، فانسخ المرجع
※ إذا كنت بحاجة إلى نسخة عميقة من مصفوفة تحتوي على نوع مرجعي، فيجب عليك تكرار المصفوفة وإنشاء كائن جديد
لتوضيح نسخ أنواع المراجع، راجع الفصل التالي
عرض نسخة عادية إلى الحافظة؟
شخص من الطبقة العامة
{
سلسلة عامة الاسم الأول {مجموعة؛
سلسلة عامة اسم العائلة {مجموعة؛
شخص عام (سلسلة الاسم الأول، سلسلة اسم العائلة)
{
// عندما يكون للمعلمة نفس اسم عضو في الفصل، استخدم هذا للإشارة إلى عضو الفصل (يوصى شخصيًا بعدم استخدامه بهذه الطريقة)
this.FirstName = FirstName;
this.LastName = LastName;
}
// أعد كتابة فئة ToString
سلسلة التجاوز العامة ToString ()
{
return string.Format("{0} {1}"، الاسم الأول، اسم العائلة)؛
}
}
برنامج الصف
{
الفراغ الثابت الرئيسي (سلسلة [] الحجج)
{
الشخص [] الأشخاص 1 = الشخص الجديد [2]؛
Persons1[0] = new Person("Tom", "lin");
Persons1[1] = new Person("Jack", "Rader");
الشخص [] الأشخاص 2 = الأشخاص 1.Clone () كشخص []؛
Persons2[0].FirstName = "نسخ 2";
// اتصل لنسخ مجموعة المصدر
Console.WriteLine(persons1[0].FirstName);
// النتيجة هي نسخة 2، وليس توم. ويمكن ملاحظة أن طريقة الاستنساخ تنسخ المرجع فقط.
Console.Read();
}
}
شخص من الطبقة العامة
{
سلسلة عامة الاسم الأول {مجموعة؛
سلسلة عامة اسم العائلة {مجموعة؛
شخص عام (سلسلة الاسم الأول، سلسلة اسم العائلة)
{
// عندما يكون للمعلمة نفس اسم عضو في الفصل، استخدم هذا للإشارة إلى عضو الفصل (يوصى شخصيًا بعدم استخدامه بهذه الطريقة)
this.FirstName = FirstName;
this.LastName = LastName;
}
// أعد كتابة فئة ToString
سلسلة التجاوز العامة ToString ()
{
return string.Format("{0} {1}"، الاسم الأول، اسم العائلة)؛
}
}
برنامج الصف
{
الفراغ الثابت الرئيسي (سلسلة [] الحجج)
{
الشخص [] الأشخاص 1 = الشخص الجديد [2]؛
Persons1[0] = new Person("Tom", "lin");
Persons1[1] = new Person("Jack", "Rader");
الشخص [] الأشخاص 2 = الأشخاص 1.Clone () كشخص []؛
Persons2[0].FirstName = "نسخ 2";
// اتصل لنسخ مجموعة المصدر
Console.WriteLine(persons1[0].FirstName);
// النتيجة هي نسخة 2، وليس توم. ويمكن ملاحظة أن طريقة الاستنساخ تنسخ المرجع فقط.
Console.Read();
}
}
3. تقوم فئة Array أيضًا بتنفيذ الفرز الفقاعي للعناصر الموجودة في المصفوفة، وهي طريقة الفرز.
بالنسبة للمصفوفات البسيطة، يمكنك الفرز مباشرة
Array.Sort(iArray); حيث iArray عبارة عن مصفوفة int
-