情境
我有三个IEnumerable列表-IEnumerable<Dog>
,IEnumerable<Cat>
和IEnumerable<Horse>
。
我希望它们全部放在一个IEnumerable<NameColor>
中。
我在每个Dog,Cat和Horse对象上都有一个public static explicit operator NameColor
定义,可以将它们投射到NameColor
所以:
IEnumerable<NameColor> list = dogs as IEnumerable<NameColor>;
list = list.Union(cats as IEnumerable<NameColor>);
list = list.Union(horses as IEnumerable<NameColor>);
但是,这不起作用。我收到错误
Value cannot be null.Parameter name: first
,但我什至看不到名为first
的参数? 最佳答案
我建议:
var list = dogs.Select(d => (NameColor)d)
.Union(cats.Select(c => (NameColor)c))
.Union(horses.Select(h => (NameColor)h));
关于c# - C#联合运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4132272/