2

私はここにこのコードを持っています:

public Model.task GetDelete(int qno , int aid , int tid)
{
   return context.questions.FirstOrDefault(a => a.QuestionNo = qno & a.ActivityID == aid & a.TaskID == tid);
}

3 つの ID すべてに適合する必要があります。上記のエラーがあります。プログラミングは初めてですが、このエラーをなくすにはどうすればよいですか? 基本的に3つのIDをチェックする必要がありますが、これは可能ですか? というエラーが出ます

演算子「&&」は、タイプ「int」および「bool」のオペランドには適用できません

4

2 に答える 2

4

lambda 内に代入演算子があり、次のよう=に等値演算子を使用する必要があります==

context.questions.FirstOrDefault(a => a.QuestionNo == qno & a.ActivityID == aid & a.TaskID == tid);
                                            //here ^^ 

次のエラーが表示されます。

演算子「&&」は、タイプ「int」および「bool」のオペランドには適用できません

代入演算子はintあなたのケースで値を返しますが、右側の等値演算子はブール値を期待しているためです。

ここでの短絡演算子の使用はオプションです。プロパティに副作用がなく、 副作用を導入する演算子をオーバーライドしないプリミティブ型または型を返す場合&&、ラムダの動作は変更されません。==

于 2013-06-07T09:07:44.537 に答える
3

&&代わりに使用する必要があります&

&&

条件付き AND 演算子 (&&) は、論理 AND を実行します

&

整数型の場合、& はそのオペランドの論理ビットごとの AND を計算します。bool オペランドの場合、& はそのオペランドの論理 AND を計算します。それは」

于 2013-06-07T08:58:11.900 に答える