C# “Array” vs “List”: ความแตกต่างและประโยชน์

C Array Vs List Khwam Taek Tang Laea Prayochn



อาร์เรย์ ' และ ' รายการ ” ใช้เพื่อบันทึกข้อมูล ประเภทของ 'อาร์เรย์' ได้รับการแก้ไขแล้วและเราไม่สามารถใส่วัตถุประเภทอื่นเข้าไปได้ อย่างไรก็ตาม 'รายการ' มีประเภททั่วไปและเป็นขนาดฟรี ผู้ใช้ยังสามารถกำหนดประเภทของรายการในขณะที่ประกาศได้อีกด้วย พวกเขาไม่สามารถแก้ไขอาร์เรย์ระหว่างการดำเนินการ เมื่อเตรียมใช้งานอาร์เรย์ ขนาดของอาร์เรย์จะถูกเตรียมใช้งาน และไม่สามารถใส่อ็อบเจกต์ได้มากกว่าขนาดนั้น ดัชนีใช้เพื่อจัดเก็บวัตถุในอาร์เรย์และรายการ รายการมีลักษณะแบบไดนามิก นั่นเป็นสาเหตุที่สามารถปรับขนาดได้ รายการใช้ทั้งดัชนีและลูป

ในคู่มือนี้ เราจะพูดถึงความแตกต่างและประโยชน์ของ “ อาร์เรย์ ' และ ' รายการ ” ใน C#

อาร์เรย์ในภาษา C#

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







ไวยากรณ์ของอาร์เรย์คือ:



ประเภทข้อมูล [ ] ชื่ออาร์เรย์ ;

มาดูตัวอย่างอาร์เรย์กัน:



ใช้ระบบ ;

ตัวอย่างเนมสเปซ CSharpArray

{

ชื่อคลาสสาธารณะ

{

คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง )

{

สตริง [ ] ชื่อ = { 'หรือ' , 'บุษรา' , 'จุดเริ่มต้น' , 'ฟาวาด' } ;

คอนโซล เขียนไลน์ ( 'องค์ประกอบที่ดัชนี 1 คือ:' + ชื่อ [ 1 ] ) ;

คอนโซล เขียนไลน์ ( 'องค์ประกอบของอาร์เรย์คือ:' ) ;

สำหรับ ( นานาชาติ ดัชนี = 0 ; ดัชนี < ชื่อ ความยาว ; ดัชนี ++ )

{

คอนโซล เขียนไลน์ ( ชื่อ [ ดัชนี ] ) ;

}

คอนโซล อ่านคีย์ ( ) ;

}

}

}

ในตัวอย่างที่อธิบายไว้ข้างต้น:





  • ขั้นแรก เพิ่มไลบรารีเนมสเปซที่ต้องการชื่อ “ ระบบ ' และ ' ตัวอย่าง SharpArray '.
  • จากนั้นประกาศคลาสชื่อ “ ชื่อ ” ที่เราต้องการจัดเก็บและแสดงชื่อ
  • ถัดไป ประกาศอาร์เรย์สตริงภายในเมธอดหลักที่เราจัดเก็บชื่อไว้
  • หลังจากนั้น ขั้นแรก เราพิมพ์องค์ประกอบที่ดัชนี 1 ซึ่งแสดงวิธีที่เราสามารถเข้าถึงองค์ประกอบของอาร์เรย์ที่ดัชนีที่ระบุ
  • จากนั้นเราพิมพ์อาร์เรย์ทั้งหมด

ผลลัพธ์จะเป็นดังนี้:



รายการใน C#

“รายการ” มีอยู่ใน System.Collection.Generic และเป็นประเภททั่วไป “รายการ” มีลักษณะเป็นไดนามิกและอนุญาตให้เพิ่ม ลบ แทรก ลบ หรือจัดการองค์ประกอบต่างๆ ใน C# เมื่อใดก็ตามที่มีการเพิ่มหรือลบองค์ประกอบ รายการจะถูกปรับขนาดโดยอัตโนมัติ

ไวยากรณ์สำหรับรายการใน C# ระบุไว้ด้านล่าง:

รายการ < พิมพ์ > ชื่อ = รายการใหม่ < พิมพ์ > ( ) ;

มาดูตัวอย่างต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น:

ใช้ระบบ ;

ใช้ระบบ. คอลเลกชัน . ทั่วไป ;

เนมสเปซ Names

{

ชื่อคลาสสาธารณะ

{

คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง )

{

รายการ < สตริง > ชื่อ = รายการใหม่ < สตริง > ( ) ;

ชื่อ เพิ่ม ( 'หรือ' ) ;

ชื่อ เพิ่ม ( 'บุษรา' ) ;

ชื่อ เพิ่ม ( 'จุดเริ่มต้น' ) ;

ชื่อ เพิ่ม ( 'ฟาวาด' ) ;

คอนโซล เขียนไลน์ ( 'องค์ประกอบที่ดัชนี 1 คือ: ' + ชื่อ [ 1 ] ) ;

คอนโซล เขียนไลน์ ( 'องค์ประกอบของรายการนี้คือ: ' ) ;

สำหรับ ( นานาชาติ ดัชนี = 0 ; ดัชนี < ชื่อ นับ ; ดัชนี ++ )

{

คอนโซล เขียนไลน์ ( ชื่อ [ ดัชนี ] ) ;

}

คอนโซล อ่านคีย์ ( ) ;

}

}

}

การทำงานของโปรแกรมนี้จะเหมือนกับตัวอย่างอาร์เรย์ อย่างไรก็ตาม เราเพียงแค่จัดเก็บข้อมูลโดยใช้รายการ

เอาต์พุต

ความแตกต่างระหว่าง “Array” และ “List” ใน C#

ตอนนี้ มาดูความแตกต่างอย่างรวดเร็วระหว่างอาร์เรย์และรายการใน C#:

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

ประโยชน์ของ Array ใน C#

ประโยชน์ของอาร์เรย์คือ:

  • อาร์เรย์สามารถปรับให้เหมาะสมได้อย่างง่ายดาย
  • ผู้ใช้สามารถบันทึกองค์ประกอบหลายชนิดของข้อมูลที่คล้ายกันได้
  • การดำเนินการเป็นไปอย่างรวดเร็ว
  • เราสามารถเข้าถึงองค์ประกอบที่ดัชนีเฉพาะ
  • อนุญาตให้ค้นหาองค์ประกอบ
  • ประสิทธิภาพที่ดีขึ้น
  • ข้อผิดพลาดรันไทม์น้อยลง

ประโยชน์ของรายการใน C#

ประโยชน์ของการใช้รายการคือ:

  • ไม่มีหน่วยความจำคงที่
  • สามารถปรับขนาดได้หลังจากการประกาศ
  • การเพิ่มและลบองค์ประกอบทำได้อย่างรวดเร็ว
  • อนุญาตให้เราจัดการข้อมูล
  • เราสามารถเข้าถึงองค์ประกอบที่ดัชนีที่ระบุ

เราได้พูดถึงประโยชน์และความแตกต่างระหว่าง 'อาร์เรย์' และ 'รายการ' ใน C#

บทสรุป

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