【问题标题】:c# Boolean Overridingc# 布尔覆盖
【发布时间】:2015-11-10 07:47:29
【问题描述】:

我试图在覆盖时使用布尔值。这一切都有效,但布尔值除外

public Bike(String colour, int gears, Boolean bell) : base (colour)

Bike B1 = new Bike("red ", 5, No);
        //B1.Name = "Red";
        Console.WriteLine("" + B1.ToString());
        //Console.WriteLine("Name: " + B1.Name);

我试图创建的句子是 红色自行车有5个齿轮,没有铃铛

“否”位是布尔值,那么您如何使用“否”这个词来使用布尔值,因为当我在上面的程序中使用它时,“Bike B1 = new Bike("red ", 5, No);"我收到一条错误消息,提示“当前上下文中不存在名称 'No'”

【问题讨论】:

  • 布尔值只能接受 truefalse 文字。你认为No 是一个有效的布尔值吗?

标签: c# boolean


【解决方案1】:

No 不是 C# 中的关键字。对于 bool 类型,使用 truefalse

【讨论】:

  • 你在该行的开头错过了一个勾号,颠倒了你的意思:)
【解决方案2】:

我认为您的问题是您没有很好地理解数据类型。
请阅读布尔值bool (C# Reference)
这表示:“bool 关键字是 System.Boolean 的别名。它用于声明变量以存储布尔值,truefalse。”
如果您需要一个也可以具有 null 值的布尔变量,请使用 bool?。 你可以试试这样的

public Bike(String colour, int gears, Boolean bell)
                : base (colour){
 ////.......
public override ToString(){
    string yesNo=(bell==true)? "with one":"and no";
    return string.Format("The {0} bike has {1} {2} bell", colour, gears, yesNo);

}
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 2013-12-21
    • 2016-01-22
    • 2017-02-02
    • 1970-01-01
    • 2011-06-11
    相关资源
    最近更新 更多