我有以下内容:
if (settingsAgeFrom > 0 && settingsAgeTo > 0)
{
if (!Enumerable.Range(settingsAgeFrom, settingsAgeTo).Contains(age))
{
canContact = false;
}
}
Run Code Online (Sandbox Code Playgroud)
这基本上检查年龄是否在settingsAgeFrom和settingsAgeTo之间
settingsAgeFrom = 18
settingsAgeTo = 20
age = 26
Run Code Online (Sandbox Code Playgroud)
应该返回false并将canContact设置为false,而是跳过它说明它有效?
我在这里错过了什么吗?
所有三个变量都是int类型.
你弄错了,Enumerable.Range有第二个参数count,它应该是: -
if (!Enumerable.Range(settingsAgeFrom, (settingsAgeTo - settingsAgeFrom) + 1)
.Contains(age))
Run Code Online (Sandbox Code Playgroud)
因此,您的范围将是18 - 20而不是18 - 37(您当前的代码正在生成).