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

ฉันจะคัดลอกรายการจากรายการไปยังรายการโดยไม่มี foreach ใน C # ได้อย่างไร


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

List เทียบเท่ากับ ArrayList ซึ่งใช้งาน IList.

มันมาภายใต้เนมสเปซ System.Collection.Generic

Listสามารถมีองค์ประกอบของประเภทที่ระบุ มันมีการตรวจสอบประเภทเวลาคอมไพล์และไม่ได้ทำการแกะกล่องเพราะมันเป็นแบบทั่วไป

คุณสามารถเพิ่มองค์ประกอบได้โดยใช้เมธอด Add(), AddRange() หรือคอลเลกชัน-initializersyntax

องค์ประกอบสามารถเข้าถึงได้โดยผ่านดัชนีเช่น myList[0]. ดัชนีเริ่มต้นจากศูนย์ รายการ ทำงานได้เร็วกว่าและมีโอกาสเกิดข้อผิดพลาดน้อยกว่า ArrayList

รายการสามารถเข้าถึงได้โดยดัชนี การวนรอบ for/foreach และการใช้คำสั่ง LINQ ดัชนีของรายการเริ่มจากศูนย์

ส่งดัชนีในวงเล็บเหลี่ยมเพื่อเข้าถึงแต่ละรายการ เช่นเดียวกับอาร์เรย์ ใช้ foreach หรือ for loop เพื่อทำซ้ำคอลเล็กชัน List

วิธีที่ 1

class Program{
   public static void Main(){
      List<int>originalList=new List<int>(){1,2,3,4,5,7,8,9};
      List<Int32>copy = new List<Int32>(originalList);
      foreach (var item in copy){
         System.Console.WriteLine(item);
      }
      Console.ReadLine();
   }
}

ผลลัพธ์

1
2
3
4
5
7
8
9

วิธีที่ 2

class Program{
   public static void Main(){
      List<int>originalList = new List<int>() { 1, 2, 3, 4, 5, 7, 8, 9 };
      List<Int32> copy = originalList.ToList();
      foreach (var item in copy){
         System.Console.WriteLine(item);
      }
      Console.ReadLine();
   }
}

ผลลัพธ์

1
2
3
4
5
7
8
9

วิธีที่ 3

class Program{
   public static void Main(){
      List<int> originalList = new List<int>() { 1, 2, 3, 4, 5, 7, 8, 9 };
      List<Int32> copy = originalList.GetRange(0, 3);
      foreach (var item in copy){
         System.Console.WriteLine(item);
      }
      Console.ReadLine();
   }
}

ผลลัพธ์

1
2
3