你在C#或.NET中看到的最奇怪的情况是什么?
我收集了几个角落的箱子大脑挑逗者总是想听更多。该页面只涉及C#语言位和bobs,但我也发现核心.NET内容也很有趣。例如,这里有一个不在页面上,但我觉得难以置信的:
string x = new string(new char[0]);string y = new string(new char[0]);Console.WriteLine(object.ReferenceEquals(x, y));
我希望打印错误-毕竟,“新”(引用类型)总创建一个新的对象,不是吗?C#和CLI的规范都表明它应该。在这个特殊的情况下。它打印了True,并在我测试过的框架的每个版本上都这样做了。(无可否认,我还没有在Mono上试过.)
我要说的是,这只是我想要的那种东西的一个例子-我并不是特别想要讨论和解释这个奇怪的东西。(这与正常的字符串实习不一样;特别是,在调用构造函数时,通常不会发生字符串实习。)我真的是在要求类似的奇怪行为。
还有其他宝石藏在外面吗?