为什么.NET运行时将下划线添加到我的字符串?

Bor*_*ris 9 .net c# settings

我将我的应用程序设置存储在C#way(Properties.Settings.Default.Save();)中.然后,设置由C#运行时存储在文件夹中:

C:\Users\UserName\AppData\Local\My_Company_Name
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我在Visual Studio([assembly: AssemblyCompany("My Company Name")])中输入了"我的公司名称"作为公司属性.

那么,下划线来自何处?我见过的其他应用程序创建文件夹空白...

InB*_*een 13

问题是您要添加一个property名为"我的公司名称".这不是memberC#中的有效名称,因此它会自动转换为有效名称:"My_Company_Name"

如果您创建名为"My Project"的新项目,也会发生同样的事情.namespace项目的默认值不是"我的项目",因为它无效.默认namespaceVS将为您创建"My_Project".

  • +1.同意.只需添加引号`每个应用程序设置必须具有唯一的名称; 名称可以是不以数字开头的字母,数字或下划线的任意组合,也不能包含来自[here]的空格.(http://msdn.microsoft.com/en-us/library/a65txexh% 28V = VS.80%29.aspx) (5认同)