字符串处理的有关事项

字符串常量

字符串资源文件

字符串应该打包到字符串资源文件中。这可以将字符串收集到一个位置,从而更容易更改字符串文本。通过使用字符串资源文件还可以实现本地化和全球化。在以前,生成和使用字符串资源文件并不是一件很容易的事情。不过,资源重构工具可以帮您解决这个问题,至少对于 C# 和 VB 项目而言是这样。例如,对于以下语句中的字符串常量而言即是如此:

private static string snippetSchemaPathBegin = 
Path.Combine(Environment.ExpandEnvironmentVariables("%ProgramFiles%"), 
@"/Microsoft Visual Studio 8/Xml/Schemas");

通过使用资源重构工具可以快速将其更改为以下内容:

private static string snippetSchemaPathBegin = 
Path.Combine(Environment.ExpandEnvironmentVariables( 
Strings.ProgramFiles), Strings.MicrosoftVisualStudio8XmlSchemas);

文件名和路径

在检查代码时,查找字符串常量或含有硬编码文件路径的字符串资源文件引用。请始终使用环境变量、提供路径名称的 .NET API(例如,System.Windows.Forms.Application.ExecutablePath,它返回启动应用程序的可执行文件的路径)或者配置文件条目来引用路径。人们常常会使用 C 盘以外的其他驱动器作为安装位置,有时会以其他方式自定义安装位置!

与此类似,应用程序的文件名不应定义为字符串或者在字符串资源文件的引用中进行定义。可采取的替代方法有:配置文件、环境变量或由用户输入(如传递到控制台应用程序的参数或 WinForms 应用程序中的文件对话框)。所有的这些替代方法给用户使用应用程序带来了更大的灵活性。

以下示例列举了几个不好的做法,包括使用硬编码路径和公共变量。

     public static readonly string SnippetSchemaPathBegin = 
@"C:/Program Files/Microsoft Visual Studio 8/Xml/Schemas/";

如此处所示,该语句无法通过使用公共属性和 SystemDrive 环境变量来重写。

        public string SnippetSchemaPathBegin { get { return 
snippetSchemaPathBegin; } }
        private static string snippetSchemaPathBegin = 
Environment.ExpandEnvironmentVariables("%SystemDrive%" + @"/Program 
Files/Microsoft Visual Studio 8/Xml/Schemas");

与此类似,有人可能会使用 ProgramFiles 环境变量,如下所示。

        private static string snippetSchemaPathBegin = 
Path.Combine(Environment.GetEnvironmentVariable("ProgramFiles"), 
@"Microsoft Visual Studio 8/Xml/Schemas");
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值