方案
我有三个IEnumerable的名单 - IEnumerable<Dog>
,IEnumerable<Cat>
和IEnumerable<Horse>
。
我希望他们在一个单一的IEnumerable<NameColor>
。
我有一个public static explicit operator NameColor
在每个狗,猫和马的对象定义为允许我将它们转换成NameColor
C#联合运营商
所以:
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
的参数,即使是一个选项?!
也许Union需要.First()。你确定没有这些清单是空的吗? – simendsjo 2010-11-09 09:47:01
顺便说一句 - “Union”与“我希望他们都在......”中不一样 - 你可能是指“Concat”。 – 2010-11-09 09:58:38