相关疑难解决方法(0)

什么是C#中的错误操作符?

C#中有两个奇怪的运算符:

如果我理解这一点,这些运算符可以用于我想要使用的类型而不是布尔表达式,并且我不希望提供对bool的隐式转换.

假设我有以下课程:

    public class MyType
    {
        public readonly int Value;

        public MyType(int value)
        {
            Value = value;
        }

        public static bool operator true (MyType mt)
        {
            return  mt.Value > 0;
        }

        public static bool operator false (MyType mt)
        {
            return  mt.Value < 0;
        }

    }
Run Code Online (Sandbox Code Playgroud)

所以我可以编写以下代码:

    MyType mTrue = new MyType(100);
    MyType mFalse = new MyType(-100);
    MyType mDontKnow = new MyType(0);

    if (mTrue)
    {
         // Do something.
    }

    while (mFalse)
    {
        // Do something else. …
Run Code Online (Sandbox Code Playgroud)

.net c# syntax

107
推荐指数
4
解决办法
1万
查看次数

'bool'是C++中的基本数据类型吗?

我在编写代码时遇到了这个疑问.'bool'是C++标准中定义的基本数据类型还是编译器提供的某种扩展?我有这个疑问,因为Win32有'BOOL',这只不过是一个长期的typedef.如果我做这样的事情会发生什么:

int i = true;
Run Code Online (Sandbox Code Playgroud)

是否"始终"保证变量i的值为1,还是取决于我使用的编译器?对于一些接受BOOL作为参数的Win32 API,如果我传递bool变量会发生什么?

c++

58
推荐指数
3
解决办法
11万
查看次数

标签 统计

.net ×1

c# ×1

c++ ×1

syntax ×1