【发布时间】:2020-03-13 16:06:38
【问题描述】:
我有 if 或语句,其中我放置了一些条件和一个三元运算符。我注意到如果我放 ?: 运算符我的 if 语句总是错误的。我想知道是什么原因造成的,因为真实条件在评估 ?: 运算符之前出现,因此它甚至不应该检查它。
row.number == barcode -> false;
row.eancode == barcode -> true;
row.packageean == barcode -> false;
row.IspackingcodeNull() -> true;
if (row.number == barcode
|| row.eancode == barcode
|| row.packageean == barcode
|| row.IspackingcodeNull() ? false : row.packingcode == barcode
|| row.producerproductcode == barcode
|| row.alternativebarcode1 == barcode)
【问题讨论】:
-
|| (row.IspackingcodeNull() ? false : row.packingcode == barcode),三元运算符优先级低
标签: c# .net if-statement conditional-operator