1个回答
展开全部
因为C#来自C++,所以结构被保留起来。实际上结构使用较少。
结构有以下几个特性:
1.不支持继承,故也不支持protected成员(protected用于继承),但支持实现接口。
2.不能定义默认构造函数。因为结构的行为是值类型,然而.NET所有对象全部从Object类型继承而来,结构也不例外。为了支持值类型的复制特性,结构继承于System.ValueType(它是Object的子类),该类通过默认构造函数复制结构里所有结构类型的成员。
3.结构不为null,只有引用类型才有null。事实上.NET在构造函数会把结构里面所有值类型赋默认值。
因此,如果你有一些数据型的对象,而且需要在多处保存它们的副本,用结构比较方便,省去实现IClone接口的麻烦。
public、internal、protected、private是控制访问级别的。对于初学者可都用public
结构有以下几个特性:
1.不支持继承,故也不支持protected成员(protected用于继承),但支持实现接口。
2.不能定义默认构造函数。因为结构的行为是值类型,然而.NET所有对象全部从Object类型继承而来,结构也不例外。为了支持值类型的复制特性,结构继承于System.ValueType(它是Object的子类),该类通过默认构造函数复制结构里所有结构类型的成员。
3.结构不为null,只有引用类型才有null。事实上.NET在构造函数会把结构里面所有值类型赋默认值。
因此,如果你有一些数据型的对象,而且需要在多处保存它们的副本,用结构比较方便,省去实现IClone接口的麻烦。
public、internal、protected、private是控制访问级别的。对于初学者可都用public
追问
谢谢,但是有时看到有的语句里用了public,而一些相似的语句好像没有,也没限定访问级别,如果少了那个public会怎样啊
追答
没有public默认就是就是同一个命名空间的成员可见。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询