private void Disable_Proxy_textboxes(bool v)
{
v = !v;
address_textbox.Enabled = v;
port_textbox.Enabled = v;
port_label.ForeColor = Color.FromArgb(v?(255,255,255):(100, 100, 100));
address_label.ForeColor=v?(Color.FromArgb(255,255,255)):(Color.FromArgb(100,100,100));
}
Во время кодирования я решил поиграть с троичными операторами, и теперь я действительно сбит с толку, почему в port_label.ForeColor = Color.FromArgb(v?(255,255,255):(100, 100, 100));
возникает ошибка.Я понимаю, что следующая строка очень правильная, но почему эта конкретная строка показывает следующие ошибки:
Predefined type 'System.ValueTuple`3' is not defined or imported
cannot convert from '(int, int, int)' to 'int'
Документы просто говорят
Либо тип first_expression и second_expression должныбыть одинаковыми, или должно существовать неявное преобразование из одного типа в другой.
Так что, в моем случае, оба типа данных не одинаковы?Разве оба случая не совпадают с этим примером?
bool c=a?true:false;
a?(c=true):(c=false);
Что я не понимаю?Также, пожалуйста, это не одна из тех , почему этот код не работает , я не прошу здесь никакой отладки.Спасибо.