C#把指定长度的二维LIST复制另一个二维LIST
时间: 2023-11-23 10:06:22 浏览: 114
如果您需要复制一个指定长度的二维 `List<T>` 到另一个二维 `List<T>` 中,可以使用类似于上面的方法,但需要使用 `List<T>.GetRange()` 方法和 `Enumerable.Select()` 方法来分别获取每个内部列表的一部分并复制它们。下面是示例代码:
```csharp
List<List<int>> originalList = new List<List<int>>
{
new List<int> { 1, 2, 3 },
new List<int> { 4, 5, 6 },
new List<int> { 7, 8, 9 }
};
int startIndex = 1; // 复制的起始索引
int length = 2; // 需要复制的元素数量
List<List<int>> copiedList = originalList
.Select(l => l.GetRange(startIndex, length).ToList())
.ToList();
```
在上面的代码中,我们使用 `Select()` 方法来迭代原始列表中的每个内部列表,并在 `GetRange()` 方法中指定起始索引和长度来获取每个内部列表的一部分。我们再次使用 `ToList()` 方法将每个复制的内部列表转换为一个新的 `List<int>`。最终,我们使用 `ToList()` 方法将所有复制的内部列表转换为一个新的二维 `List<int>`,最终得到一个新的 `copiedList`,其中包含原始列表中每个内部列表从 `startIndex` 开始的 `length` 个元素。
阅读全文