C# 如何检查一个列表是否比另一个列表大1?

C# 如何检查一个列表是否比另一个列表大1?,c#,C#,代码如下: if (rise.Count > fall.Count) { rise.Remove(rise.Last()); } 在这种情况下,我正在检查列表上升是否大于列表下降。 我想检查一下,只有当列表上升的幅度大于1时,列表才会下降1,然后再做点什么 例如,如果上升。计数是418,下降。计数是417,那么做一些事情,因为上升比下降大一点。 或者如果上升。计数是1123,下降。计数是1122,那么做些什么

代码如下:

if (rise.Count > fall.Count)
            {
                rise.Remove(rise.Last());
            }
在这种情况下,我正在检查列表上升是否大于列表下降。 我想检查一下,只有当列表上升的幅度大于1时,列表才会下降1,然后再做点什么

例如,如果上升。计数是418,下降。计数是417,那么做一些事情,因为上升比下降大一点。 或者如果上升。计数是1123,下降。计数是1122,那么做些什么。 所有其他的案例都不起任何作用,只有当它大一倍的时候

我该怎么做呢?

你就快到了

if ((rise.Count - fall.Count) == 1)
{
    //Do something
}

你如何检查一个整数是否比另一个整数大一倍?你在问这个吗
if(rise.Count-fall.Count==1)
if(rise.Count==fall.Count+1)
请注意,如果元素不是唯一的,您的删除代码是1)慢的,2)不正确的。改用
rise.RemoveAt(rise.Count-1)
。您的支票不必要地复杂。对于非负整数
x
y
x-y==1
意味着
x>y
。(对于
x==int.MinValue
y==int.MaxValue
x-y==1
为真,但
x>y
为假。幸运的是
list.Count
永远不会发生这种情况)现在可以了吗?作为一名实习生,我习惯于使用so:)如果上升比下降大,你不需要检查。否则,减法将返回一个(负数)数字!=1.
if (rise.Count - fall.Count == 1)           
    rise.Remove(rise.Last()); //your code here