如何将LINQ与属性一起使用

如何将LINQ与属性一起使用,linq,lambda,linq-to-entities,linq-to-objects,Linq,Lambda,Linq To Entities,Linq To Objects,嗨,如果类型类为“DtContract”,我有一个数组列表 我想通过LINQ做到这一点。 我想筛选其EngineType==AMADEUS&&EngineType==SABRE的合同。请建议我如何通过Linq实现,并在列表或数组列表中获得结果 我这样做是为了优化代码 请帮助…您的foreach循环没有做任何有意义的事情,您正在尝试实现什么 var result = listOfContracts_.Where(contract=>contract.Engine != DTIsland.En

嗨,如果类型类为“DtContract”,我有一个数组列表

我想通过LINQ做到这一点。 我想筛选其
EngineType==AMADEUS&&EngineType==SABRE
的合同。请建议我如何通过Linq实现,并在列表或数组列表中获得结果

我这样做是为了优化代码


请帮助…

您的foreach循环没有做任何有意义的事情,您正在尝试实现什么

var result = listOfContracts_.Where(contract=>contract.Engine != DTIsland.EngineType.AMADEUS && contract.Engine !=DTIsland.EngineType.SABRE).ToList();
如果您想使用linq

listOfContracts_.OfType<DTContract>()
   .Where(contract => contract.Engine != DTIsland.EngineType.AMADEUS && 
                      contract.Engine != DTIsland.EngineType.SABRE);
listOfContracts\uuOfType()类型
.Where(contract=>contract.Engine!=DTIsland.EngineType.AMADEUS&&
contract.Engine!=DTIsland.EngineType.SABRE);

您想优化速度还是可读性?因为将这个
foreach
循环转换为Linq查询不会提高速度。@Elian:那么我该如何改进它呢??请建议..您的代码中缺少构造函数调用和
listOfContracts\添加(合同)
。Elian所说的是,linq将在内部执行与您当前的相同的操作,并且从性能角度来看,没有什么需要优化的)。@Nappy:实际上这只是一个示例,所以我不编写合同列表
listOfContracts_.OfType<DTContract>()
   .Where(contract => contract.Engine != DTIsland.EngineType.AMADEUS && 
                      contract.Engine != DTIsland.EngineType.SABRE);