cuốn sách gpt4 ai đã làm

c# - 多次使用 ||和 && 操作数

In lại Tác giả: Hồ Xil 更新时间:2023-11-01 03:12:49 31 4
mua khóa gpt4 Nike

我有一个使用 Entity Framework 的查询。它有许多不同的操作数,我对其优先级感到困惑。我得到了错误的结果。我需要所有 IsPaid == true hoặc IsPaid == null 的记录,而且所有记录都必须是 TypeId == 1 hoặc TypeId == 2,也必须是 CityId == 1CategoryId == 2。由于某种原因,它不评估 CityIdCategoryId。我究竟做错了什么?谢谢。

var list = db.Ads.Where (x =>
x.IsPaid == true || x.IsPaid == null &&
x.TypeId == 1 || x.TypeId == 2 &&
x.CityId == 1 && x.CategoryId == 2
).ToList();

câu trả lời hay nhất

解决这个问题的最好方法是使用括号。即使您知道绑定(bind)优先级,也应该始终使用它们,以提高代码的可读性。

(x.IsPaid == true || x.IsPaid == null) && (x.TypeId == 1 || x.TypeId == 2) && x.CityId == 1 && x.CategoryId == 2


&& 的优先级高于 ||

所以 false && false || true 将被翻译成 (false && false) ||真 =>


@Joey 提到的旁注:

您可以编写 (x.IsPaid != false) thay vì (x.IsPaid == true || x.IsPaid == null).

关于c# - 多次使用 ||和 && 操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40501769/

31 4 0
Hồ Xil
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress