这两个LINQ语句之间有什么区别?

时间:2012-05-17 12:49:34

标签: c# .net linq

首先(有效):

IEnumerable<PacchettoOfferta> PacchettiTemp = from PacchettoOfferta a in SottoPagina.PacchettiOfferte
                                              select a;
Pacchetti = Pacchetti.Union(PacchettiTemp);

秒(不起作用,Unable to cast object of type):

Pacchetti = Pacchetti.Union((IEnumerable<PacchettoOfferta>)SottoPagina.PacchettiOfferte);

为什么呢?我想用第二个陈述......有什么区别?我需要做些什么来解决它?

1 个答案:

答案 0 :(得分:4)

如果SottoPagina.PacchettiOfferte不是IEnumerable<PacchettoOfferta>,则无法将其投射到此类型。

尝试使用Enumerable.Cast Extension Method

Pacchetti = Pacchetti.Union(SottoPagina.PacchettiOfferte.Cast<PacchettoOfferta>());