在C#/Net代码精简优化技巧(一)中已经介绍了5个小技巧,本篇将再介绍5个。
1、string.IsNullOrEmpty() and string.IsNullOrWhiteSpace()
在Net2.0中String类型有一个静态方法IsNullOrEmpty,到了Net4.0中String类又增加了一个新的静态方法IsNullOrWhiteSpace。这两个方法看名称也可以知道IsNullOrEmpty是判断空引用和空字符串,而IsNullOrWhiteSpace是判断空引用和字符串中的每一个字符是否是空格。
在有这两个方法之前,我们要进行这样的判断,需要些如下代码
public string GetFileName(string fullPathFileName) { if (fullPathFileName == null || fullPathFileName.Length == 0) { throw new ArgumentNullException(fullPathFileName); } //... } |
使用IsNullOrEmpty
public string GetFileName(string fullPathFileName) { if (string.IsNullOrEmpty(fullPathFileName)) { throw new ArgumentNullException(fullPathFileName); } //... } |
下面又了新的需求,需要将三个名字连接在一起,并且希望中间名字不为空字符串和不出现多余的空格,我们会写出下面的代码
public string GetFullName(string firstName, string middleName, string lastName) { if (middleName == null || middleName.Trim().Length == 0) { return string.Format("{0} {1}", firstName, lastName); } return string.Format("{0} {1} {2}", firstName, middleName, lastName); } |
public string GetFullName(string firstName, string middleName, string lastName) { if (string.IsNullOrWhiteSpace(middleName)) { return string.Format("{0} {1}", firstName, lastName); } return string.Format("{0} {1} {2}", firstName, middleName, lastName); } |
上面的代码非常简洁,而且也不用担心会产生额外的String对象没有及时的进行垃圾回收而影响性能。