【发布时间】:2020-06-21 02:24:42
【问题描述】:
我有这行代码:
bool existsbuy = pricelist.Exists(element => (element <= TPbuyRange) && (element >= Convert.ToDouble(JsonResP.prices[0].closeoutBid)));
这没有按预期工作,它总是让我错了。 我对此进行了修改,效果很好,它为我提供了应有的布尔结果:
bool existsbuy1 = pricelist.Exists(element => (element <= TPbuyRange) );
bool existsbuy2 = pricelist.Exists(element => (element >= Convert.ToDouble(JsonResP.prices[0].closeoutBid)));
然后我有这个,它与第一行非常相似,而且效果也很好:
bool existssell = pricelist.Exists(element => element >= TPsellRange & element <= Convert.ToDouble(JsonResP.prices[0].closeoutBid));
所以我不明白,这里有什么问题?
【问题讨论】:
-
您需要在此处包含更多信息。例如,
pricelist是什么?如果它是List<something>,其中something不是内置的.NET 类型,请提供something的定义。 -
另外,
existsbuy1 && existsbuy2在逻辑上并不等同于existsbuy。existsbuy要求单个元素同时满足两个条件,而existsbuy1和existsbuy2可以同时为真,即使不同的元素满足各自的条件。 -
第一个和第二个不一样——第一个元素必须小于 tpbuyrange 并且同时大于收盘价。在第二种情况下,至少一个元素必须小于买入范围,而另一个可能不同的元素必须大于收盘价
-
在第三个中存在el1 - 是故意的 & 还是您复制 && 时输入错误?