如果我使用正常的主入口点创建一个普通的控制台应用程序,如下所示
using System;
namespace ConsoleApp
{
public class Program
{
public static void Main(string[] args)
{
// do stuff
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在visual studio中选择它一切都很好..
但是,如果我按如下方式编写代码......
using System;
namespace ConsoleApp
{
public class Program
{
public static void Main(String[] args)
{
// note the capital S in String
}
}
}
Run Code Online (Sandbox Code Playgroud)
那一切都不好......
有谁知道为什么它没有拿起String []但是对字符串[]感到满意吗?
编辑:从评论中提取,它似乎是Visual Studio 2012和2013中的一个错误.据推测,它也出现在早期版本中,但似乎已在VS2015中得到纠正.这本身并不是问题,并且如前所述,代码仍然使用string []或String []进行编译和执行.我有兴趣知道VS中的bug的原因.我想是属性编辑器窗口不是Using System;?
我在调试一些单元测试时发现了这一点,这些测试将返回的单个数组与预期结果进行了比较
System.Single.NaN == System.Single.Nan;
Run Code Online (Sandbox Code Playgroud)
单元测试期望是正确的,但评估结果为假.当其他单一的静态方法返回true时,为什么这会求值为false?NaN不是恒定值吗?
System.Single.MaxValue == System.Single.MaxValue;
System.Single.Epsilon == System.Single.Epsilon;
null == null;
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/system.single.nan.aspx指出:"两个NaN值被认为是彼此不相等的." 但这个问题出于好奇,为什么这比其他任何东西都重要.