我如何使用LINQ属性

时间:2011-05-06 14:17:56

标签: linq lambda linq-to-entities linq-to-objects

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

ArrayList listOfContracts_;

foreach (DTContract contract in listOfContracts_)
{
    if (contract.Engine != DTIsland.EngineType.AMADEUS && contract.Engine !=DTIsland.EngineType.SABRE)
                    continue; 
}

我想通过LINQ来做。 我想过滤EngineType == AMADEUS && EngineType == SABRE的合同。请建议我如何通过Linq完成它并将结果列在List或数组列表中。

我这样做是为了优化代码。

请帮助......

2 个答案:

答案 0 :(得分:1)

var result = listOfContracts_.Where(contract=>contract.Engine != DTIsland.EngineType.AMADEUS && contract.Engine !=DTIsland.EngineType.SABRE).ToList();

答案 1 :(得分:0)

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

如果你想使用linq

listOfContracts_.OfType<DTContract>()
   .Where(contract => contract.Engine != DTIsland.EngineType.AMADEUS && 
                      contract.Engine != DTIsland.EngineType.SABRE);