c#构造函数有什么特点如何使用