gpt4 book ai didi

c# - 无法在 C# 中将一个列表附加到另一个列表...尝试使用 AddRange

转载 作者:太空狗 更新时间:2023-10-29 18:01:20 27 4
gpt4 key购买 nike

您好,我正在尝试将 1 个列表附加到另一个列表。我之前使用 AddRange() 完成了它,但它似乎在这里不起作用......这是代码:

IList<E> resultCollection = ((IRepository<E, C>)this).SelectAll(columnName, maxId - startId + 1, startId);                
IList<E> resultCollection2 = ((IRepository<E, C>)this).SelectAll(columnName, endId - minId + 1, minId);
resultCollection.ToList().AddRange(resultCollection2);

我进行了调试以检查结果,这是我得到的:resultCollection 的计数为 4 resultCollection2 的计数为 6,添加范围后,resultCollection 仍然只有 4 个计数,而它应该有 10 个计数。

谁能看出我做错了什么?感谢您的帮助。

谢谢,
马特

最佳答案

当您调用 ToList() 时您没有将集合包装在 List<T> 中你正在创建一个新的 List<T>里面有相同的元素。因此,您在这里有效地做的是创建一个新列表,向其中添加项目,然后丢弃该列表。

您需要执行以下操作:

List<E> merged = new List<E>();
merged.AddRange(resultCollection);
merged.AddRange(resultCollection2);

或者,如果您使用的是 C# 3.0,只需使用 Concat ,例如

resultCollection.Concat(resultCollection2); // and optionally .ToList()

关于c# - 无法在 C# 中将一个列表附加到另一个列表...尝试使用 AddRange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1724606/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com