การลบรายการจาก List<T> ด้วยดัชนีใน C#
คลาส List<T> (ใน namespace System.Collections.Generic) มีเมธอด RemoveAt(int index) สำหรับลบรายการที่ตำแหน่งที่ระบุโดยตรง ซึ่งมีประสิทธิภาพดีกว่า Remove() ที่ต้องค้นหาค่าก่อน
ตัวอย่างโค้ด
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// สร้าง List และเพิ่มข้อมูล
List list1 = new List()
{
"Hanks",
"Lawrence",
"Beckham",
"Cooper"
};
Console.WriteLine("รายการเริ่มต้น:");
foreach (string name in list1)
{
Console.WriteLine(name);
}
// ลบรายการที่ดัชนี 1 (รายการที่ 2)
list1.RemoveAt(1);
Console.WriteLine("\nรายการหลังลบดัชนี 1:");
foreach (string name in list1)
{
Console.WriteLine(name);
}
}
}
ผลลัพธ์
รายการเริ่มต้น:
Hanks
Lawrence
Beckham
Cooper
รายการหลังลบดัชนี 1:
Hanks
Beckham
Cooper
เมธอดที่เกี่ยวข้อง
| เมธอด | คำอธิบาย |
|---|---|
RemoveAt(int index) | ลบรายการที่ดัชนีที่ระบุ |
Remove(T item) | ลบรายการแรกที่มีค่าตรงกับที่ระบุ |
RemoveAll(Predicate<T> match) | ลบรายการทั้งหมดที่ตรงเงื่อนไข |
Clear() | ลบรายการทั้งหมด |
ข้อควรระวัง
- ดัชนีเริ่มต้นที่ 0 (index 0 = รายการแรก)
- หากดัชนีเกินขอบเขตจะโยน
ArgumentOutOfRangeException - หลังลบแล้ว ดัชนีของรายการถัดไปจะเลื่อนลงมาทดแทน