列出c#中的GetRange错误
本文关键字:错误 GetRange 中的 列出 | 更新日期: 2023-09-27 18:06:42
我正在使用列表,我的列表有14条记录。
List<Product> oProduct = new List<Product>
{
new Product("../images/1.jpg", "Sample Data.1"),
new Product("../images/2.jpg", "Sample Data.2"),
new Product("../images/3.jpg", "Sample Data.3"),
new Product("../images/4.jpg", "Sample Data.4"),
new Product("../images/5.jpg", "Sample Data.5"),
new Product("../images/6.jpg", "Sample Data.6"),
new Product("../images/7.jpg", "Sample Data.7"),
new Product("../images/8.jpg", "Sample Data.8"),
new Product("../images/9.jpg", "Sample Data.9"),
new Product("../images/10.jpg", "Sample Data.10"),
new Product("../images/11.jpg", "Sample Data.11"),
new Product("../images/12.jpg", "Sample Data.12"),
new Product("../images/13.jpg", "Sample Data.13"),
new Product("../images/14.jpg", "Sample Data.14"),
};
当我使用下面的行getrange,然后我得到索引超出边界错误。
List<Product> xProduct = oProduct.GetRange(10, 13);
但是我的列表有14个元素,那么为什么我不能从第10个位置提取数据到第14个位置....
GetRange
的第二个参数需要是计数获得的元素,所以将其更改为4
(我认为这是你想要的)。
同样,第一个参数是基于零的索引,所以您希望GetRange(9, 4)
获得图像10到13。
List<T>.GetRange
取start
和count
,不取start
和end
。如果你想要元素10-13,使用GetRange(10, 4)
您请求的是13个元素,从第10个元素开始