一道看似复杂但是简单的c#面试题
2013-04-19 14:55
453 查看
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
{
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
相关文章推荐
- 一道看似简单的面试题
- 一道关于finally的看似非常简单但很多人都做错的Java面试题
- (C#)一道看似简单却很难答得完全正确的关于多态的问题
- 看似简单,但是经常出错的微软面试题(C/C++)1
- 一道看似简单的sql面试题(count,group by,distinct)
- 记一道巨简单,但是我没有答上来的Sql面试题
- 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?
- 一道简单有趣的C语言面试题
- 一道简单的IOS面试题-b
- hdu 3925 一道复杂的简单题
- 一道看似简单的ACM题检验你的基本功
- 一个非常简单的C#面试题
- 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道“简单”的面试题_自动装箱和拆箱源码解析
- 今天做了一道的题目,简单是因为程序写起来简单,但是感觉题目不错;
- 【题目22】传说中的微软面试题一道(简单题)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)