Computer >> Máy Tính >  >> Lập trình >> C#

Làm cách nào để sao chép các mục từ danh sách này sang danh sách khác mà không cần foreach trong C #?

Danh sách là một tập hợp các đối tượng được đánh máy mạnh có thể được truy cập bằng chỉ mục và có các phương pháp sắp xếp, tìm kiếm và sửa đổi danh sách. Đây là phiên bản chung của ArrayList nằm trong System.Collection.Genericnamespace.

Liệt kê tương đương với ArrayList, thực hiện IList .

Nó nằm trong không gian tên System.Collection.Generic.

Danh sách có thể chứa các phần tử của kiểu được chỉ định. Nó cung cấp tính năng đánh máy theo thời gian biên dịch và không thực hiện thao tác mở hộp quyền anh vì nó là chung chung.

Có thể thêm các phần tử bằng các phương thức Add (), AddRange () hoặc sưu tập-khởi tạo tổng hợp.

Các phần tử có thể được truy cập bằng cách chuyển một chỉ mục, ví dụ:myList [0]. Các chỉ mục bắt đầu từ 0. Danh sách hoạt động nhanh hơn và ít bị lỗi hơn ArrayList.

Danh sách có thể được truy cập bằng chỉ mục, vòng lặp for / foreach và sử dụng truy vấn LINQ. Các chỉ mục của danh sách bắt đầu từ số không.

Chuyển một chỉ mục trong dấu ngoặc vuông để truy cập các mục danh sách riêng lẻ, giống như mảng. Vòng lặp Usea foreach hoặc for để lặp lại bộ sưu tập Danh sách .

Phương pháp 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();
   }
}

Đầu ra

1
2
3
4
5
7
8
9

Phương pháp 2

Chương trình
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();
   }
}

Đầu ra

1
2
3
4
5
7
8
9

Phương pháp 3

Chương trình
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();
   }
}

Đầu ra

1
2
3