C#的几个小细节
1. 使用 string.Empty 代替长度为0的空字符串""。
复制
保存
// string s = "";string s =
string.Empty;
2. 触发事件时尽可能使用 EventArgs.Empty 替代 new EventArgs() 和 null。
复制
保存
public class Class1{
public event EventHandler OnEvent;
private void DoEvent() {
if (OnEvent !=
null)
// OnEvent(this, new EventArgs()); // OnEvent(this, null); OnEvent(
this, EventArgs.Empty); }}
3. 返回长度为0的数组,而不是null。这样调用者使用foreach时不会因为没有判断null而出错。
复制
保存
public int[] GetArray(
int x){
if (x > 100)
return new int[0];
else return new int[] { 1, 2, 3 };}
4. 尽可能使用string.Format,而不是+号。这样更容易阅读,而且修改起来更方便。
复制
保存
public string PersonalInfo(
string name,
int age){
//return "我的名字叫 " + name + ",我今年" + age + "岁了。"; return string.Format(
"我的名字叫 {0},我今年{1}岁了。", name, age);}
5. 对于确定不会被继承的类,请添加sealed关键字,以提高性能和避免意外继承造成潜在安全问题。
复制
保存
public sealed class Class1{}
6. 对于静态类,请添加sealed关键字,并使用私有构造。
复制
保存
public sealed class Class1{
private Class1() { }
public static void Test() { }
public static void Test2() { }}
7. 对于用户在输入框输入的数字,我们可能习惯于下面的方式进行转换。
复制
保存
string s =
this.TextBox1.Text.Trim();
int i = Convert.ToInt32(s);
其实有更简单的方法就是用Parse,提供NumberStyles会自动处理前后空格等多种意外情况。当然其他数值类型也有类似的方法。
复制
保存
int i =
int.Parse(
this.TextBox1.Text, NumberStyles.Any);
复制
保存
int i =
int.Parse(
" 123,456,900 ", NumberStyles.Any);