C#字符串和字符串.为什么Visual Studio对它们的处理方式不同?

Ske*_*Jon 15 c# visual-studio

如果我使用正常的主入口点创建一个普通的控制台应用程序,如下所示

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;

wal*_*pus 4

您确定您使用的示例String确实可以编译吗?

小写string是一个关键字,相当于使用System.String; 由于您的示例未导入System名称空间,我预计它将导致编译错误,这可能导致项目属性无法识别您的 Main 方法。

using System;指令添加到代码文件或显式使用System.String而不是String使编译器知道类型。