错误1无法将类型'char'隐式转换为'bool'

unk*_*own 1 .net c#

我已经看到了其他问题,但答案似乎很复杂,无法理解它们,所以继承我的代码:

注意:我是c shar语言的新手

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Input_Program
{
    class Program
    {
       private static void Main()
       {
           Console.WriteLine("Welcome to my bool program!");
           Console.WriteLine("Input a NON capital y or n when told to.");


            char Y;
            char N;

            if(Y = 'y')
            {}
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢,谢谢

Jon*_*Jon 7

你错过了一个等号: if(Y == 'y')

你有它现在的样子,它将值'y'Y,这也是赋值表达式的结果.它是一个char,而编译器期望得到一个bool结果.

更新:

当然,正如thephpdeveloper所说,编译器还会坚持Y在读取之前为其分配值.所以:

char Y = 'y';
char N = 'n';

if(Y == 'y')
{}
Run Code Online (Sandbox Code Playgroud)