我试图用这样的查询过滤一个可观察的集合
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都在循环中的第一次迭代中设置。我缺少什么
答案 0 :(得分:4)
您正在使用赋值运算符而不是相等:
eq.PartData.ReportIncluded = true
// instead of
eq.PartData.ReportIncluded == true
答案 1 :(得分:3)
请勿混淆=
和==
。实际上,没有必要将布尔值与true
和false
文字进行比较(除非它是 nullable 布尔值)。那么也许你可以写where eq.PartData.ReportIncluded
而没有任何== true
?