Csharp中的关键字示例及代码演示之结构

C sharp 中的关键字,如结构、类,封装,多态,继承,方法,接口,反射,委托,事件,装箱,拆箱,泛型,属性,数据,索引器,特性,异常处理,先说这么多,请大家多多提示。

结构(struct):
  结构是一种值类型,继承自System.ValueType,通常用来封装小型的变量组或者较小的类。(示例代码<部分>):
 1 /*
2 * ${res:XML.StandardHeader.CreatedByYangbo}
3 * 用户: ${YangBo}
4 * 日期: 10/12/2011
5 * 时间: 13:59
6 *
7 */
8 using System;
9 namespace MyStrcutNameSpace
10 {
11 public struct Book:IBuy
12 {
13 private String name;
14 private decimal price;
15 private String author;
16
17 //结构不能声明无参数的构造函数,并且在结构中初始化实例字段也是错误的
18 // public Book()
19 // {
20 // //Nothing to do
21 // }
22 public Book(string name,decimal price,string author)
23 {
24 //结构不使用NEW也可以创建Book对象,将struct换为class就会报错
25 this.name=name;
26 this.price=price;
27 this.author=author;
28 }
29 }
30
31 //结构可以实现接口,
32 public interface IBuy
33 {
34 void buy();
35 }
36 //但它们无法继承另一个结构. 因此,结构成员无法声明为 protected,默认的访问修饰符是Private.
37 public struct CsharpBook:Book//此处的Book是自己写上去的,在vs的智能提示处点击:的话,没有显示
38 {
39 private String sort;
40 private String language;
41 }
42 //结构可以为NULL的类型,所以可以向它赋null值
43 public struct JavaBook
44 {
45
46 }
47
48 }
总结:
  结构是值类型,结构对象时,是用的是值传递,所以字段不会改变。
  结构不能声明默认构造函数(没有参数的构造函数)或析构函数,结构可以声明带参数的构造函数。
  结构可以实现接口。
  结构可用作可以为 null 的类型,因而可向其赋 null 值。

 有错请指出!!谢谢。后面的会接着练习。

原文地址:https://www.cnblogs.com/tymonyang/p/CSharpStruct.html