0

以下の発言があります。

var search = PredicateBuilder.True<SomeType>();
search.And(f => false);

// Still the "search" variable value is: {f => true}.

最初は表現を試みていました。何も成功しなかったので、代わりにこの「false」を試しました。私が何をしたとしても、それは同じです。何が起こっている?

4

1 に答える 1

11

PredicateBuilderメソッドは式を変更しません (式ツリーは不変であるため、変更できません)。戻り値を使用する必要があります。

var search = PredicateBuilder.True<SomeType>();
search = search.And(f => false);
于 2012-06-22T16:58:44.640 に答える