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
...
}
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);