gpt4 book ai didi

c# - 连接两个类列表

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:21 25 4
gpt4 key购买 nike

我有一个这样定义的类,在程序中我不断地向它添加东西

List<ChangesSummaryClass> allCombinationsClass = new List<ChangesSummaryClass>();

我也有这个类,同样我在程序中不断添加东西。

List<ChangesSummaryClass> grandClass = new List<ChangesSummaryClass>();

现在我想将他们拥有的任何对象组合在一个列表中:

    List<ChangesSummaryClass> bigList = new List<ChangesSummaryClass>();
bigList = grandClass.Concat(allCombinationsClass);

但是我收到无法将源类型转换为目标类型的错误。

最佳答案

它不起作用,因为 Concat返回 IEnumerable<ChangesSummaryClass> , 不是 List<ChangesSummaryClass>因为你已经定义了你的变量。

你有两个选择:

保留 bigList作为列表

List<ChangesSummaryClass> bigList = new List<ChangesSummaryClass>();
bigList = grandClass.Concat(allCombinationsClass).ToList();

或者,

定义bigList作为可枚举的:

IEnumerable<ChangesSummaryClass> bigList = new List<ChangesSummaryClass>();
bigList = grandClass.Concat(allCombinationsClass);

请注意,将其定义为可枚举意味着每次迭代 bigList 时都会进行列表的串联和读取。 .这意味着对原始列表所做的任何修改都将反射(reflect)在 bigList 中。下次你迭代它时,即使你在定义 bigList 之后添加到列表中(感谢 Pieter Witvoet's comment )

关于c# - 连接两个类列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34227014/

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