有一种方法可以计算升序数组中的相等数:
public void CheckArr (int [] array)
{
int count = 0;
int prev = array [0];
bool inPair = false;
for (int i = 1; i <array.Length; i ++)
{
if (array [i] == prev)
{
count + = inPair? 1:2;
inPair = true;
}
else
{
prev = array [i];
inPair = false;
}
}
Console.WriteLine (count);
}
我无法理解该表达式:count + = inPair? 1:2;
int如何等于bool?如果将其重写为if / else,它将是什么样?
答案 0 :(得分:1)
编写类似
的表达式时count += inPair? 1:2;
就像这样写:
if (inPair) {
count += 1;
} else {
count += 2;
}
在示例中,它使int不等于bool,如果布尔为true,则使count等于1;如果布尔值为false,则使count等于2。