System.Array ใน C# คืออะไร

System Array Ni C Khux Xari



C# สนับสนุนการใช้อาร์เรย์เป็นโครงสร้างข้อมูล ซึ่งทำให้เราสามารถจัดเก็บชุดขององค์ประกอบประเภทเดียวกันในลำดับตามลำดับที่มีขนาดคงที่ได้ คุณสมบัติอาร์เรย์ทั้งหมดใน C# มาจาก System.Array คลาสซึ่งทำหน้าที่เป็นคลาสพื้นฐานสำหรับประเภทอาร์เรย์

เนื่องจากเป็นคลาสฐานนามธรรม การสร้างอินสแตนซ์ของคลาส System.Array โดยตรงจึงเป็นไปไม่ได้ แต่เราสามารถสร้างอินสแตนซ์ของหนึ่งในคลาสที่ได้รับจาก System.Array ประเภทอาร์เรย์ทั้งหมดใน C# ขึ้นอยู่กับ System.Array

นอกจากอาร์เรย์มิติเดียวแล้ว C# ยังมีอาร์เรย์หลายมิติและอาร์เรย์หยัก อาร์เรย์หลายมิติมีหลายมิติหรือมากกว่าหนึ่งมิติ ในอาร์เรย์หยัก แต่ละองค์ประกอบสามารถเป็นอาร์เรย์ที่มีขนาดต่างกันได้ พูดง่ายๆ อาร์เรย์หยักเป็นอาร์เรย์ของอาร์เรย์







System.Array Class ใช้สำหรับอะไร

คลาส System.Array มีเมธอดและคุณสมบัติต่างๆ เพื่อจัดการอาร์เรย์ใน C# เมธอดเหล่านี้ช่วยให้เราสามารถอ่านและแก้ไขค่าที่จัดเก็บไว้ในอาร์เรย์ รับข้อมูลเกี่ยวกับขนาดและรูปร่างของอาร์เรย์ และค้นหาองค์ประกอบในอาร์เรย์



วิธีการทั่วไปบางอย่าง ได้แก่ GetValue(), SetValue(), GetLength() และ IndexOf() เดอะ System.Array คลาสยังช่วยให้เราสามารถจัดเรียง ค้นหา และจัดการอาร์เรย์ต่างๆ



ตัวอย่างเช่น เพื่อให้ได้ความยาวของอาร์เรย์ คุณสมบัติความยาว ถูกนำมาใช้. เดอะ ทรัพย์สินอันดับ สามารถส่งคืนขนาดทั้งหมดที่มีอยู่ในอาร์เรย์ เดอะ คุณสมบัติ GetLength ให้ความยาวของมิติเฉพาะในอาร์เรย์หลายมิติ





วิธีการและคุณสมบัติใน System.Array C#

ต่อไปนี้เป็นวิธีการและคุณสมบัติบางประการที่ใช้ใน System.Array C#:

ชัดเจน(): นี่เป็นวิธีการที่มีให้สำหรับสาธารณะและสามารถเข้าถึงได้จากส่วนใดก็ได้ของรหัส วิธีนี้สามารถตั้งค่าช่วงขององค์ประกอบเฉพาะภายในอาร์เรย์ให้เป็นค่าอ้างอิงว่างหรือศูนย์



สำเนา(): นี่เป็นวิธีสาธารณะที่สามารถโอเวอร์โหลดและใช้เพื่อคัดลอกส่วนเฉพาะขององค์ประกอบจากอาร์เรย์หนึ่งไปยังอาร์เรย์อื่น

รับความยาว (): ส่งกลับจำนวนเต็ม 32 บิตที่แสดงองค์ประกอบทั้งหมดในมิติเฉพาะของอาร์เรย์

GetLongLength(): เมธอดนี้ส่งคืนจำนวนเต็ม 64 บิต ซึ่งให้องค์ประกอบทั้งหมดในมิติเฉพาะของอาร์เรย์

GetLowerBound(): เมธอดนี้ดึงขอบเขตล่างของมิติเฉพาะของอาร์เรย์ โดยเริ่มต้นที่ดัชนี 0

GetUpperBound(): เมธอดนี้ดึงขอบเขตบนของมิติที่ระบุของอาร์เรย์ โดยเริ่มต้นที่ดัชนี 0

GetValue(): เมธอดนี้ดึงค่าขององค์ประกอบเฉพาะในอาร์เรย์ โดยเริ่มต้นที่ดัชนี 1

ดัชนีของ (): นี่เป็นวิธีสาธารณะที่สามารถโอเวอร์โหลดเพื่อส่งคืนดัชนีหรือออฟเซ็ตของการเกิดขึ้นครั้งแรกของค่าเฉพาะในอาร์เรย์หนึ่งมิติ

IsFixedSize(): วิธีนี้จะบอกว่าอาร์เรย์มีขนาดคงที่หรือไม่

เป็นแบบอ่านอย่างเดียว(): เมธอดนี้ให้ค่าที่บ่งบอกว่าอาร์เรย์เป็นแบบอ่านอย่างเดียวหรือไม่

LastIndexOf(): นี่เป็นวิธีสาธารณะที่สามารถโอเวอร์โหลดได้ มันให้ดัชนีของการเกิดขึ้นครั้งล่าสุดของค่าในอาร์เรย์หนึ่งมิติ

ความยาว(): วิธีนี้ให้ความยาวของอาร์เรย์ เป็นทรัพย์สินสาธารณะและส่งออกค่าจำนวนเต็ม 32 บิต

ความยาว (): วิธีนี้จะบอกองค์ประกอบในทุกมิติของอาร์เรย์ ส่งกลับค่าจำนวนเต็ม 64 บิต

อันดับ (): เมธอดนี้ส่งคืนจำนวนมิติที่อาร์เรย์มี

ปรับขนาด (): วิธีนี้จะปรับขนาดอาร์เรย์ตามจำนวนองค์ประกอบที่ระบุ

ย้อนกลับ(): วิธีนี้สามารถย้อนกลับลำดับองค์ประกอบในอาร์เรย์มิติเดียว

เรียงลำดับ(): วิธีนี้จะจัดเรียงองค์ประกอบในอาร์เรย์หนึ่งมิติโดยเรียงลำดับจากน้อยไปหามากหรือมากไปหาน้อยขึ้นอยู่กับค่า

ตัวอย่างโค้ด

รหัสด้านล่างเริ่มต้นอาร์เรย์ของจำนวนเต็มและสาธิตต่างๆ System.Array วิธีการที่สามารถใช้กับอาร์เรย์ใน C# ผลลัพธ์ของแต่ละวิธีจะแสดงแยกกันบนคอนโซล

ใช้ระบบ ;
โปรแกรมคลาส
{
คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง )
{
// เริ่มต้นอาร์เรย์ของจำนวนเต็ม
นานาชาติ [ ] ตัวเลข = { 1 , 2 , 3 , 4 , 5 } ;


// ล้างเนื้อหาของอาร์เรย์

อาร์เรย์ ชัดเจน ( ตัวเลข , 0 , ตัวเลข ความยาว ) ;

คอนโซล เขียนไลน์ ( 'อาร์เรย์หลังจากการล้าง:' ) ;

สำหรับ ( นานาชาติ ฉัน = 0 ; ฉัน < ตัวเลข ความยาว ; ฉัน ++ )

{

คอนโซล เขียน ( ตัวเลข [ ฉัน ] + ' ' ) ;

}

คอนโซล เขียนไลน์ ( ) ;

// คัดลอกเนื้อหาของอาร์เรย์อื่นเป็นตัวเลข

นานาชาติ [ ] numsCopy = { 7 , 8 , 9 } ;

อาร์เรย์ สำเนา ( numsCopy , ตัวเลข , numsCopy. ความยาว ) ;

คอนโซล เขียนไลน์ ( 'อาร์เรย์หลังจากการคัดลอก:' ) ;

สำหรับ ( นานาชาติ ฉัน = 0 ; ฉัน < ตัวเลข ความยาว ; ฉัน ++ )

{

คอนโซล เขียน ( ตัวเลข [ ฉัน ] + ' ' ) ;

}

คอนโซล เขียนไลน์ ( ) ;

// รับความยาวและความยาวของอาร์เรย์

นานาชาติ ความยาว = ตัวเลข รับความยาว ( 0 ) ;

ยาว ความยาว = ตัวเลข GetLongLength ( 0 ) ;

คอนโซล เขียนไลน์ ( 'ความยาวของอาร์เรย์: ' + ความยาว ) ;

คอนโซล เขียนไลน์ ( 'ความยาวของอาร์เรย์: ' + ความยาว ) ;

// รับขอบเขตล่างและบนของอาร์เรย์

นานาชาติ ขอบล่าง = ตัวเลข รับขอบเขตล่าง ( 0 ) ;

นานาชาติ ขอบเขตบน = ตัวเลข รับ UpperBound ( 0 ) ;

คอนโซล เขียนไลน์ ( 'ขอบเขตล่างของอาร์เรย์: ' + ขอบล่าง ) ;

คอนโซล เขียนไลน์ ( 'ขอบเขตบนของอาร์เรย์: ' + ขอบเขตบน ) ;

// รับค่าที่ดัชนีเฉพาะในอาร์เรย์

นานาชาติ ค่าที่ดัชนี = ( นานาชาติ ) ตัวเลข รับค่า ( 1 ) ;

คอนโซล เขียนไลน์ ( 'มูลค่าที่ดัชนี 1: ' + ค่าที่ดัชนี ) ;

// ค้นหาดัชนีของค่าเฉพาะในอาร์เรย์

นานาชาติ ดัชนีของมูลค่า = อาร์เรย์ ดัชนีของ ( ตัวเลข , 9 ) ;

คอนโซล เขียนไลน์ ( 'ดัชนีค่า 9: ' + ดัชนีของมูลค่า ) ;

// ตรวจสอบว่าอาร์เรย์มีขนาดคงที่และอ่านอย่างเดียวหรือไม่

บูลคือFixedSize = ตัวเลข IsFixedSize ;

บูลเป็นแบบอ่านอย่างเดียว = ตัวเลข เป็นอ่านอย่างเดียว ;

คอนโซล เขียนไลน์ ( 'มีขนาดคงที่หรือไม่' + เป็นขนาดคงที่ ) ;

คอนโซล เขียนไลน์ ( 'เป็นแบบอ่านอย่างเดียว?' + เป็นอ่านอย่างเดียว ) ;

// ค้นหาดัชนีสุดท้ายของค่าเฉพาะในอาร์เรย์

นานาชาติ สุดท้ายดัชนีของค่า = อาร์เรย์ ดัชนีสุดท้ายของ ( ตัวเลข , 9 ) ;

คอนโซล เขียนไลน์ ( 'ดัชนีสุดท้ายของค่า 9: ' + สุดท้ายดัชนีของค่า ) ;

// รับความยาวของอาร์เรย์

นานาชาติ ความยาวอีกครั้ง = ตัวเลข ความยาว ;

คอนโซล เขียนไลน์ ( 'ความยาวของอาร์เรย์อีกครั้ง: ' + ความยาวอีกครั้ง ) ;

// รับอันดับของอาร์เรย์

นานาชาติ อันดับ = ตัวเลข อันดับ ;

คอนโซล เขียนไลน์ ( 'อันดับของอาร์เรย์: ' + อันดับ ) ;

// ปรับขนาดอาร์เรย์

อาร์เรย์ ปรับขนาด ( หมายเลขอ้างอิง , 10 ) ;



// ย้อนกลับเนื้อหาของอาร์เรย์

อาร์เรย์ ย้อนกลับ ( ตัวเลข ) ;

คอนโซล เขียนไลน์ ( 'อาร์เรย์หลังจากย้อนกลับ:' ) ;

สำหรับ ( นานาชาติ ฉัน = 0 ; ฉัน < ตัวเลข ความยาว ; ฉัน ++ )

{

คอนโซล เขียน ( ตัวเลข [ ฉัน ] + ' ' ) ;

}

คอนโซล เขียนไลน์ ( ) ;



// จัดเรียงเนื้อหาของอาร์เรย์

อาร์เรย์ เรียงลำดับ ( ตัวเลข ) ;

คอนโซล เขียนไลน์ ( 'อาร์เรย์หลังการเรียงลำดับ:' ) ;

สำหรับ ( นานาชาติ ฉัน = 0 ; ฉัน < ตัวเลข ความยาว ; ฉัน ++ )

{

คอนโซล เขียน ( ตัวเลข [ ฉัน ] + ' ' ) ;

}

}

}

เอาต์พุต

บทสรุป

คลาส System.Array ใน C# เป็นพื้นฐานสำหรับการทำงานกับอาร์เรย์ทุกประเภท ไม่ว่าเราจะต้องสร้างอาร์เรย์หนึ่งมิติอย่างง่ายหรืออาร์เรย์หลายมิติที่ซับซ้อน คลาส System.Array มีวิธีการที่แตกต่างกันในการจัดการและทำงานกับข้อมูลอย่างมีประสิทธิภาพ สำหรับคำอธิบายโดยละเอียดของ System.Array ใน C# อ่านบทความ