将一个列表的部分添加到另一个列表
本文关键字:列表 添加 另一个 一个 | 更新日期: 2023-09-27 18:10:39
我有两个列表,a &B. B包含100个元素。我如何将列表A中的第20 - 30个元素从B中添加到列表A中?我知道有AddRange,但对我来说,它看起来像是将列表B中的所有元素添加到列表A中。有没有一种方法可以在不使用循环的情况下做到这一点?
假设两个列表具有相同的底层类型,您可以使用LINQ的Skip()
和Take()
方法从第二个列表中获取您想要的项目范围:
var a = new List<string>();
// add 100 elements to a
var b = new List<string>();
// add 100 elements to b
a.AddRange(b.Skip(19).Take(11)); // add items 20 through 30 from b to a
您可以使用GetRange()
从列表A中获取元素,然后使用AddRange()
将相同类型的元素添加到列表B中。
例如:
List<int> a = new List<int>();
List<int> b = new List<int>();
for (int i = 0; i < 100; i++)
{
b.Add(i);
}
List<int> sublist = a.GetRange(20, 10);
a.AddRange(sublist);