C# 无法隐式转换类型';int';至';布尔';[

C# 无法隐式转换类型';int';至';布尔';[,c#,C#,我已经将公共静态bool isValid参数设置为(int num),但它仍然表示int类型无法转换为bool。有人能帮我解决这个问题吗?在while循环中,您必须提供一个条件(bool),以便循环继续,直到满足该条件。您提供的是int而不是条件(bool),所以while(num)会给你一个错误。只要把它改成while(num!=0)就可以解决问题。问题是while(num)num不是bool。它需要什么条件?num>x,numwhile需要bool条件来停止循环,并且需要包括返回bool的条

我已经将公共静态bool isValid参数设置为(int num),但它仍然表示int类型无法转换为bool。有人能帮我解决这个问题吗?

在while循环中,您必须提供一个条件(bool),以便循环继续,直到满足该条件。您提供的是int而不是条件(bool),所以while(num)会给你一个错误。只要把它改成while(num!=0)就可以解决问题。

问题是while(num)
num
不是bool。它需要什么条件?
num>x,num
等等。解决它。
while(num)
=>while需要
bool
条件来停止循环,并且需要包括返回
bool
的条件,如
rev
public static bool isValid(int num)
{
    bool status = true;
    int digit, rev = 0, ck_num; // Added new variable
    ck_num = num; // Assigned it to variable num

    // Tests for palindrome
    while (num)
    {
        digit = num % 10;
        num /= 10;
        rev = rev * 10 + digit;
    }

    if (rev == ck_num) // Checked it against unchanged variable
        status = true;
    else
        status = false;
    return status;
}