zoukankan      html  css  js  c++  java
  • 一道看似复杂但是简单的c#面试题

    public void Main()
    {
        object a = null;
        object b = new object();
        if (true ^ (a ?? b).Equals(a))
        {
            Console.WriteLine("true");
        }
        else
        {
            Console.WriteLine("false");
        }
    }

    输出是什么?

    首先考运算优先级,括号内的最高,a ?? b,但是这个是什么意思呢?

    其实他是双目运算符?:,即a==b?a:b,返回b,同样a??a呢,返回a

    然后是.运算符,b.Equals(a) 返回 false

    最后true ^false 这是异或,也就是有且仅有一个true时,结果为true,其他都为false

    所以最后为true

  • 相关阅读:
    hibernate入门
    struts文件上传
    Struts的增删改查
    struts入门
    Maven配置以及环境搭配
    layui增删改查
    easyui三
    A
    C. Permutation Cycle
    E
  • 原文地址:https://www.cnblogs.com/sung/p/3030738.html
Copyright © 2011-2022 走看看