C#:联合两个ICollections? (相当于Java的addAll())

前端之家收集整理的这篇文章主要介绍了C#:联合两个ICollections? (相当于Java的addAll())前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个ICollections,我想拿这个工会.目前,我正在做一个foreach循环,但感觉到冗长和可怕.什么是 Java的addAll()的C#等价物?

这个问题的例子:

ICollection<IDictionary<string,string>> result = new HashSet<IDictionary<string,string>>();
// ...
ICollection<IDictionary<string,string>> fromSubTree = GetAllTypeWithin(elementName,element);
foreach( IDictionary<string,string> dict in fromSubTree ) { // hacky
    result.Add(dict);
}
// result is now the union of the two sets

解决方法

您可以使用 Enumerable.Union扩展方法
result = result.Union(fromSubTree).ToList();

由于结果被声明为ICollection< T>,您将需要ToList()调用来转换所得到的IEnumerable< T>列入列表< T> (其实现ICollection< T>).如果枚举是可以接受的,您可以离开ToList()调用,并获得延迟执行(如果需要).

原文链接:https://www.f2er.com/csharp/97514.html

猜你在找的C#相关文章