【问题标题】:How to define true as false and vice versa? [closed]如何定义真为假,反之亦然? [关闭]
【发布时间】:2014-07-25 10:25:12
【问题描述】:

您在 C 中学到的第一件事就是您可以将 true 定义为 false 并将 false 定义为 true

我想知道,是否可以在 C# 中将 true 定义为 false,反之亦然?

是否可以修改上述问题中的其他类型?

示例

这就是我想要的工作方式。

if(false)
{
    // this will always be executed
}

if(true)
{
    // this will never be executed
}

【问题讨论】:

  • 这是我见过的最奇怪的问题。使用!false 还不够?
  • 你为什么要这样做?
  • 不可能,也许你更喜欢在允许这样的事情的地方使用 C++
  • 别忘了FILE_NOT_FOUND 但严重的是,这将严重违反最小惊讶原则
  • 这个问题似乎离题了,因为它不是关于实际编程问题。

标签: c# boolean


【解决方案1】:
  static void Main()
  {
     bool \u0066alse = true;
     if (\u0066alse)
     {
        // Do code here:
     }
  }

或者这个怎​​么样:

  static void Main()
  {
     bool \u0066alse = true;
     if (@false)
     {
        // Do code here:
     }
  }

【讨论】:

    【解决方案2】:

    无法将true 重新定义为false 并将false 重新定义为truetruefalseSystem.Boolean 的属性,不能更改。

    但是,如果你想写一些有趣的代码,你可以在一个类中定义 True 和 False 并使用它。

    using System;
    
    public static class I
    {
        public static Boolean True { get { return false; } }
    
        public static Boolean False { get { return true; } }
    }
    

    然后,在你的代码中

    if (I.True)
    {
        // never work
    }
    
    if (I.False)
    {
        // do stuff
    }
    
    if (MyFunction() == I.False)
    {
        // do stuff when MyFunction return true
    }
    

    这不完全一样的写法,但它会干扰人们阅读代码...

    【讨论】:

      猜你喜欢
      • 2021-12-23
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-15
      • 1970-01-01
      • 2011-09-23
      相关资源
      最近更新 更多