将列表的一部分复制到新列表

bit*_*cle 9 c# string list

大家好.有没有办法只将一个(或更好的,两个)维度字符串列表的一部分复制到一个新的临时字符串列表中?

Jon*_*eet 24

尽管LINQ确实使这简单而且更通用而不仅仅是列表(使用SkipTake),List<T>这个GetRange方法让它变得轻而易举:

List<string> newList = oldList.GetRange(index, count);
Run Code Online (Sandbox Code Playgroud)

(index要复制的第一个元素的索引在哪里,以及count要复制的项目数.)

当你说"二维字符串列表"时 - 你的意思是一个数组?如果是这样,你的意思是锯齿状的数组(string[][])或矩形数组(string[,])?

  • 这是列表的浅表副本(不会将列表复制到新列表,它具有引用)。所以你要小心点 (2认同)
  • @Diode:它将列表的内容复制到新列表 - 列表的内容*是*字符串引用。你说得对,它是一个浅拷贝,但由于字符串是不可变的,所以浅拷贝与深拷贝几乎没有区别。 (2认同)