Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

วิธีแทรกสมาชิกของคอลเลกชันเข้าไปใน List ที่ดัชนีที่ระบุใน C#

ภาพรวม

เมธอด List<T>.InsertRange(Int32, IEnumerable<T>) แทรกสมาชิกหลายตัวจากคอลเลกชันเข้าไปใน List ที่ดัชนีที่กำหนด

ตัวอย่าง 1: แทรกสตริง

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main(String[] args) {
        string[] strArr = { "John", "Tom", "Kevin", "Mark", "Gary" };
        List list = new List(strArr);

        Console.WriteLine("Elements in a List...");
        foreach (string str in list) {
            Console.WriteLine(str);
        }

        strArr = new string[] { "Demo", "Text" };
        Console.WriteLine("Inserted new elements in a range...");
        list.InsertRange(3, strArr);

        foreach (string res in list) {
            Console.WriteLine(res);
        }
    }
}

ผลลัพธ์ตัวอย่าง 1

Elements in a List...
John
Tom
Kevin
Mark
Gary
Inserted new elements in a range...
John
Tom
Kevin
Demo
Text
Mark
Gary

ตัวอย่าง 2: แทรกตัวเลข

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main(String[] args) {
        int[] intArr = { 10, 20, 30, 40, 50 };
        List list = new List(intArr);

        Console.WriteLine("Elements in a List...");
        foreach (int i in list) {
            Console.WriteLine(i);
        }

        intArr = new int[] { 300, 400, 500 };
        Console.WriteLine("Inserted new elements in a range...");
        list.InsertRange(2, intArr);

        foreach (int res in list) {
            Console.WriteLine(res);
        }
    }
}

ผลลัพธ์ตัวอย่าง 2

Elements in a List...
10
20
30
40
50
Inserted new elements in a range...
10
20
300
400
500
30
40
50

สรุป

  • InsertRange(index, collection) – index 0-based, collection ใดๆ ที่ implement IEnumerable<T>
  • สมาชิกเดิมจาก index เป็นต้นไปเลื่อนไปข้างหลัง
  • มีประสิทธิภาพดีกว่า Insert ซ้ำหลายครั้ง