C#箴言:使用构造函数初始化语句

C#箴言:使用构造函数初始化语句,第1张

C#箴言:使用构造函数初始化语句,第2张

编写程序时,经常会出现为一种类型提供不同场景的构造函数。大部分构造函数可能都差不多,C#也不允许缺省参数,所以构造函数的编写无疑是一个重复性的工作。但是用复制粘贴的方式来完成构造函数的编译,有时很难做到统一,尤其是成员发生变化的时候。因此,常见的替换方法是为构造函数提供一个统一的成员函数来完成初始化。

例如:

public class my class
{
private int _ Age;
私有string _ Name

public my class(string Name)
{
init member(Name,20);
}
public my class(string Name,int Age)
{
init member(Name,Age);
}

////
///初始化类成员
///
//
///

private void init member(string Name,int Age)
{
_ Age = Age;
_ Name = Name;
}
}

但是C#提供了一个更简洁的方法,就是在构造函数初始化语句中调用另一个构造函数,所以上面的形式可以改写如下。

public class my class
{
private int _ Age;
私有string _ Name

public my class(string Name):this(Name,20 )
{}

public MyClass( string Name,int Age)
{
_ Age = Age;
_ Name = Name;
}
}

两者在执行效率上没有太大差别,但后者在代码质量上要好得多,而且会让代码看起来更清晰。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C#箴言:使用构造函数初始化语句

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情