C#使用经验记录
- No.1 使用for循环的正确姿势
//定义size可以节省对arr.Count()的反复计算消耗
for(int i=0,size=arr.Count();i<size;i++)
{
//your code ...
}
- No.2 转型尽量使用as
不要使用类型加在前面的转换方式,而使用as,这样当转换不成功时,也不会有异常,但可以根据转换结果进行判断
//DONT: ISamplesam = (ISample)obj;
ISamplesam = obj as ISample;
if(null == sam)
{
//your code ...
}
- No.3 String叠加的正确使用姿势
在需要大量字符串连接的时候,要使用StringBuilder类,而不是使用string+string+string„„的方法:
不要:
string strSample = “a”+”b”+”c”+”d”+”e”;
而要:
StringBuildersb = new StringBuilder();
sb.append(“a”);
sb.append(“b”);
sb.append(“c”);
sb.append(“d”);
sb.append(“e”);
stringstrSample = sb.ToString();
- No.4 String格式化的正确使用姿势
在需要使用格式化字符串时,使用String.Format而不是使用字符串相加
不要:
stringstrName = “Shawn”;
stringstrAge = “23”;
string strSample = “I am ”+strName+”,my age is ”+strAge;
而要:
stringstrSample = String.Format(“I am {0},my age is {1}”,strName,strAge);
- No.5 初始化
除非静态变量,否则不要在定义的时候进行赋值初始化,而需要在构造函数的时候进行统一初始化函数init().要求每一个编写的类都需要有init()函数,除非该类只提供一些静态的Utility操作.
public class A
{
public int a;
public A()
{
this.init();
}
protected void init()
{
this.a = 5;
}
}