0

このようなクエリで監視可能なコレクションをフィルタリングしようとしています

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 のセッターが呼び出されていることがわかります。同じ結果でループ内のロジックを空にしました。すべての ReportInclude は、ループの最初の繰り返しで設定されます。何が足りないの

4

2 に答える 2

4

等価の代わりに代入演算子を使用しています:

eq.PartData.ReportIncluded = true
// instead of
eq.PartData.ReportIncluded == true
于 2012-07-08T19:54:35.120 に答える
3

=と を混同しないでください==true実際には、ブール値をおよびfalseリテラルと比較する必要はありません( null 許容ブール値でない限り)。だから多分あなたはwhere eq.PartData.ReportIncluded何もせずに書くことができ== trueますか?

于 2012-07-08T19:55:35.943 に答える