Scénario
J'ai trois listes IEnumerable - IEnumerable<Dog>
, IEnumerable<Cat>
et IEnumerable<Horse>
. Je les veux en tout dans un seul IEnumerable<NameColor>
.
J'ai un public static explicit operator NameColor
défini sur chacun des Chien, Chat et objets de chevaux pour me permettre de les jeter à NameColor
C# Opérateur Union
Alors:
IEnumerable<NameColor> list = dogs as IEnumerable<NameColor>;
list = list.Union(cats as IEnumerable<NameColor>);
list = list.Union(horses as IEnumerable<NameColor>);
Toutefois, ce travail ne marche pas. Je reçois l'erreur Value cannot be null. Parameter name: first
mais je ne vois pas un paramètre appelé first
même étant une option ?!
Peut-être que l'Union a besoin de .First(). Êtes-vous sûr qu'aucune de ces listes n'est vide? – simendsjo
En aparté - notez que 'Union' n'est pas tout à fait la même chose que" Je les veux tous en ... "- vous pourriez vouloir dire" Concat ". –