过滤可观察的集合

时间:2012-07-08 19:47:00

标签: c# observablecollection

我试图用这样的查询过滤一个可观察的集合

var IEquip = from eq in this.reportDocument.Document.InspectionData.Equipments where eq.PartData.ReportIncluded = true
                             orderby eq.PartData.Order ascending
                             select eq;

这似乎有效,但当我尝试通过IEquip迭代时

foreach (EquipmentItem eq in IEquip)
{
....
}

所有ReportIncluded都设置为true,我可以看到调用ReportIncluded的setter。我已经清空了循环内部的逻辑,结果相同。所有ReportInclude都在循环中的第一次迭代中设置。我缺少什么

2 个答案:

答案 0 :(得分:4)

您正在使用赋值运算符而不是相等:

eq.PartData.ReportIncluded = true
// instead of
eq.PartData.ReportIncluded == true

答案 1 :(得分:3)

请勿混淆===。实际上,没有必要将布尔值与truefalse文字进行比较(除非它是 nullable 布尔值)。那么也许你可以写where eq.PartData.ReportIncluded而没有任何== true