Я не специалист по C #, но есть общее правило, как?: оператор может быть использован.
x = (boolean condition) ? reult_if_true : result_if_false;
Например,
drink = isThisPersonAGirl ? wine : beer;
Если вы хотите использовать много условий с?: operator, вы должны сделать это следующим образом:
x = (boolean condition 1) ? result_if_true : (boolean condition 2) ? result_if_bool_2_is_true : result_if false;
Например,
drink = isThisPersonAChild ? lemonade : isThisPersonAGitl ? wine : beer
В вашем фрагменте кода трудно понять, что происходит, потому что вы слишком часто используете оператор =.В большинстве языков вы можете инициализировать несколько переменных, например:
a = b = c = 0, поэтому a, b, c будет = 0;
Так что я думаю, что ваша ошибка заключается в использовании= оператор слишком часто, поэтому, возможно, имеет значение только это условие, в то время как другие просто пропускаются:
pixels[positionOfPixel - offset + 1] == zero ? two : zero;
Извините, это не помогает, так как я действительно не кодер C #)