合并List< T>相同类型的
本文关键字:同类型 List 合并 | 更新日期: 2023-09-27 18:17:01
我得到了2个列表,它们的定义是:
List<Type> filteredTypes = new List<Type>();
List<Type> interfaceTypes = new List<Type>();
当我的列表被填充时,我想在它们两个上得到一个循环,我的想法是在"循环"之前合并它们,所以我不必使用LINQ(不喜欢它…-_-)我查看了在线文档,我想我必须这样做:
filteredTypes.Concat(interfaceTypes);
我尽可能深入地调试了,我的列表在指令之后是一样的…我错过了什么?
concat函数returns
是一个新的集合,它不添加到现有的集合。
var allTypes = filteredTypes.Concat(interfaceTypes);
见:.NET List
.Concat()
调用创建一个新的List<T>
,所以你需要这样做:
var mergedList = filteredTypes.Concat(interfaceTypes);
Concat返回一个新列表,而不修改任何一个原始列表。如果你想把它放到一个新的列表中,这样做:
List<Type> newList = filteredTypes.Concat(interfaceTypes);
如果你想把它放在旧列表中,使用AddRange:
filteredTypes.AddRange(interfaceTypes);
为什么不使用adrange呢?
filteredTypes.AddRange(interfaceTypes);
IEnumerable<T>.Concat(IEnumerable<T>)
返回IEnumerable<T>.
试试这个:
var resultTypes = filteredTypes.Concat(interfaceTypes);
你必须这样做:
var temp = firstList.Concat(secondList);
List<Type> finalList = temp.ToList<Type>();