Почему я получаю сообщение об ошибке «Не удается неявно преобразовать тип« десятичный »в« bool »»? - PullRequest
2 голосов
/ 30 января 2009

Я хочу скрыть некоторые вещи, когда значение numericUpDown изменяется, поэтому я написал это:

if (numericUpDown1.Value = 1)
{
    Label1.Hide();
}

но я получаю это сообщение об ошибке:

Невозможно неявно преобразовать тип 'decimal' в 'bool'

Почему это происходит?

Ответы [ 3 ]

9 голосов
/ 30 января 2009

Я думаю, что вы имеете в виду "if (numericUpDown1.Value == 1)".

В большинстве языков "==" - это тест на равенство, а "=" - оператор присваивания.

2 голосов
/ 30 января 2009

Какой язык вы используете со знаком «=»? В VB вы будете сравнивать, а в C # вы будете присваивать число с помощью оператора «если». Чтобы уберечься от этого, сначала нужно указать число: if (1 = numericUpDown), что было бы неплохо, если бы сравнение было разрешено на этом языке, и плохо, если вы намеревались сделать назначение. Ошибка выскочит на тебя!

2 голосов
/ 30 января 2009

Вы не проводите сравнение (измените = на == ) ... Попробуйте:

if (numericUpDown1.Value == 1)
{
    Label1.Hide();
}
...