2010-11-27 2 views
2

Как я могу узнать, если в выражении if погода задана int кратной 5? Это то, что я имею в виду:Как найти несколько в C#

if(X [is a multiple of] 5) 
{ 
    Console.Writeline("Yes"); 
} 

Что будет [кратным]?

Кроме того, почему это, что, когда я делаю:

if(X = 5) 
{ 
    Console.Writeline("sdjfdslf"); 
} 

он показывает «X = 5» в красном и говорит мне «Не удается неявно преобразовать тип„Int“на„BOOL“Я использую Х в качестве входного сигнала.

ответ

6

Как я могу узнать, в выражении if, погода, указанная int кратная 5?

Вы хотите использовать операцию modulo (%).

if (X % 5 == 0) { 
    Console.Writeline("Yes"); 
} 

он показывает "X = 5" в красном и говорит мне «Не удается неявно преобразовать тип "Int" на "BOOL"? Я использую X в качестве входных данных.

Одинарный равен =. Вы хотите, чтобы double равнялся ==, чтобы сделать проверку на равенство.

5
if (x % 5 == 0) Console.WriteLine("yes"); 

с # mod оператор

== использовать также возвращать булево значение для сравнения.

2

Вы можете использовать оператор модуля (%), который возвращает остаток после деления:

if (X % 5 == 0) { Console.Writeline("Yes"); } 
0

= является оператором присваивания, а == используется для сравнения.

Итак, когда вы пишете if (X = 5), вы назначаете от 5 до X и рассматриваете это как булево выражение.

Интересно, что присвоение значения переменной также возвращает само значение.

y = x = 5 

назначает 5 х и присваивает результат (х = 5), который также является 5, чтобы у.

0

Вы ищете оператор по модулю (%), чтобы определить, если целое число является кратным другого целого, например, так:

if (x % 5 == 0) 

Чтобы ответить на вторую часть вашего вопроса (if (x = 5)), A single equals sign - оператор присваивания в C#. Вместо этого вы должны использовать знак double equals, который является оператором сравнения, например: if (x == 5).

Смежные вопросы