如何在 C# 中不使用 foreach 将项目从列表复制到列表?

csharpserver side programmingprogramming更新于 2025/4/14 21:37:17

List<T> 是强类型对象的集合,可以通过索引访问,并具有用于排序、搜索和修改列表的方法。它是 ArrayList 的通用版本,位于 System.Collection.Generic 命名空间下。

List<T> 相当于 ArrayList,它实现了 IList<T>。

它位于 System.Collection.Generic 命名空间下。

List<T> 可以包含指定类型的元素。它提供编译时类型检查,并且由于它是通用的,因此不执行装箱/拆箱。

可以使用 Add()、AddRange() 方法或集合初始化器语法添加元素。

可以通过传递索引来访问元素,例如myList[0]。索引从零开始。List<T> 比 ArrayList 执行速度更快,错误更少。

可以通过索引、for/foreach 循环和使用 LINQ 查询来访问列表。列表的索引从零开始。

在方括号中传递索引以访问单个列表项,与数组相同。使用 foreach 或 for 循环迭代 List<T> 集合。

方法 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

相关文章