1. ความยาวแอตทริบิวต์ทั่วไปของอาร์เรย์จะส่งกลับจำนวนองค์ประกอบ LongLength จะใช้เมื่อจำนวนองค์ประกอบเกินช่วงของประเภท int
2. คลาส Array เป็นคลาสนามธรรมและไม่สามารถใช้ Constructor เพื่อสร้างอาร์เรย์ได้
แต่ก็สามารถทำได้
ดู plaincopy ไปที่ clipboardprint หรือไม่
อาร์เรย์ iArray = ใหม่ int[] { 1, 2, 3, 4 };
สำหรับ (int i = 0; i < iArray.Length; i++)
-
Console.WriteLine(iArray.GetValue(i));
-
อาร์เรย์ iArray = ใหม่ int[] { 1, 2, 3, 4 };
สำหรับ (int i = 0; i < iArray.Length; i++)
-
Console.WriteLine(iArray.GetValue(i));
-
หรือใช้วิธีคงที่ CreateInstance โดยเฉพาะเมื่อไม่ทราบประเภทองค์ประกอบอาร์เรย์ล่วงหน้าคุณสามารถกำหนดอาร์เรย์ได้ดังนี้
ใช้วิธี SetValue ในการตั้งค่า และใช้วิธี GetValue ในการอ่าน
ดู plaincopy ไปที่ clipboardprint หรือไม่
อาร์เรย์อาร์เรย์ = Array.CreateInstance(typeof(string), 3);
array.SetValue("ทอม", 0);
array.SetValue("แจ็ค", 1);
array.SetValue("บิล", 2);
สำหรับ (int i = 0; i < array.Length; i++)
-
Console.WriteLine (อาร์เรย์ GetValue (i));
-
อาร์เรย์อาร์เรย์ = Array.CreateInstance(typeof(string), 3);
array.SetValue("ทอม", 0);
array.SetValue("แจ็ค", 1);
array.SetValue("บิล", 2);
สำหรับ (int i = 0; i < array.Length; i++)
-
Console.WriteLine (อาร์เรย์ GetValue (i));
-
※วิธีนี้สามารถใช้เพื่อสร้างอาร์เรย์หลายมิติได้
3. หากต้องการคัดลอกอาร์เรย์ ให้ใช้เมธอด Clone()
หากองค์ประกอบอาร์เรย์เป็นประเภทค่า ค่าทั้งหมดจะถูกคัดลอก
หากองค์ประกอบอาร์เรย์เป็นประเภทการอ้างอิง ให้คัดลอกการอ้างอิง
※ หากคุณต้องการสำเนาเชิงลึกของอาร์เรย์ที่มีประเภทการอ้างอิง คุณต้องวนซ้ำอาร์เรย์และสร้างออบเจ็กต์ใหม่
เพื่อแสดงให้เห็นการคัดลอกประเภทการอ้างอิง ดูคลาสต่อไปนี้
ดู plaincopy ไปที่ clipboardprint หรือไม่
บุคคลในชั้นเรียนสาธารณะ
-
สตริงสาธารณะ { รับ; ชุด;
นามสกุลสตริงสาธารณะ { รับ; ชุด;
บุคคลสาธารณะ (สตริงชื่อ, นามสกุลสตริง)
-
//เมื่อพารามิเตอร์มีชื่อเดียวกันกับสมาชิกของคลาส ให้ใช้สิ่งนี้เพื่ออ้างถึงสมาชิกของคลาส (โดยส่วนตัวแนะนำว่าอย่าใช้ในลักษณะนี้)
this.FirstName = ชื่อ;
this.LastName = นามสกุล;
-
//เขียนคลาส ToString ใหม่
สตริงการแทนที่สาธารณะ ToString()
-
return string.Format("{0} {1}", FirstName, LastName);
-
-
โปรแกรมชั้นเรียน
-
โมฆะคงที่หลัก (สตริง [] args)
-
บุคคล[] บุคคล1 = บุคคลใหม่[2];
Persons1[0] = บุคคลใหม่ ("ทอม", "ลิน");
Persons1[1] = บุคคลใหม่ ("Jack", "Rader");
บุคคล [] บุคคล 2 = บุคคล 1.Clone () เป็นบุคคล [];
Person2[0].FirstName = "คัดลอก 2";
//เรียกเพื่อคัดลอกอาร์เรย์แหล่งที่มา
Console.WriteLine(persons1[0].FirstName);
//ผลลัพธ์คือการคัดลอก 2 ไม่ใช่ Tom จะเห็นได้ว่าวิธี Clone คัดลอกเฉพาะข้อมูลอ้างอิงเท่านั้น
คอนโซล.อ่าน();
-
-
บุคคลในชั้นเรียนสาธารณะ
-
สตริงสาธารณะ { รับ; ชุด;
นามสกุลสตริงสาธารณะ { รับ; ชุด;
บุคคลสาธารณะ (สตริงชื่อ, นามสกุลสตริง)
-
//เมื่อพารามิเตอร์มีชื่อเดียวกันกับสมาชิกของคลาส ให้ใช้สิ่งนี้เพื่ออ้างถึงสมาชิกของคลาส (โดยส่วนตัวแนะนำว่าอย่าใช้ในลักษณะนี้)
this.FirstName = ชื่อ;
this.LastName = นามสกุล;
-
//เขียนคลาส ToString ใหม่
สตริงการแทนที่สาธารณะ ToString()
-
return string.Format("{0} {1}", FirstName, LastName);
-
-
โปรแกรมชั้นเรียน
-
โมฆะคงที่หลัก (สตริง [] args)
-
บุคคล[] บุคคล1 = บุคคลใหม่[2];
Persons1[0] = บุคคลใหม่ ("ทอม", "ลิน");
Persons1[1] = บุคคลใหม่ ("Jack", "Rader");
บุคคล [] บุคคล 2 = บุคคล 1.Clone () เป็นบุคคล [];
Person2[0].FirstName = "คัดลอก 2";
//เรียกเพื่อคัดลอกอาร์เรย์แหล่งที่มา
Console.WriteLine(persons1[0].FirstName);
//ผลลัพธ์คือการคัดลอก 2 ไม่ใช่ Tom จะเห็นได้ว่าวิธี Clone คัดลอกเฉพาะข้อมูลอ้างอิงเท่านั้น
คอนโซล.อ่าน();
-
-
3. คลาส Array ยังใช้การเรียงลำดับแบบบับเบิ้ลขององค์ประกอบในอาร์เรย์ ซึ่งเป็นวิธี Sort
สำหรับอาร์เรย์แบบง่าย คุณสามารถเรียงลำดับได้โดยตรง
Array.Sort(iArray); โดยที่ iArray เป็นอาร์เรย์ int
-