C#基础二

Reading C#高级编程(第四版)……………………………………………………………………………………………………………………………………………………………

C#基础语法

1、类与结构的区别

所有方法必须逐个定义访问控制

结构默认是public,不能定义无参构造函数,不能继承

结构的使用可以用new,也可以不用,不用时结构中的字段都未被初始化

 

2、字段、属性和方法

属性定义:

private string foreName;

public string ForeName {

    get

    {

         return foreName;

    }

     set

    {

         if (value.Length > 20) {

             //throw exception

         } else {

             foreName=value

         }

    }

}

规则一:get set 必须有一个具备属性的访问级别

规则二:只读属性通过省略set来实现

 

 

3、按值和引用传递参数

除了string,引用类型对象传递得是对象引用,修改会被作用到对象上

对于值对象如果要传递变化,则需用ref,类似&,调用时必须显示指定ref,如 SomeFun(ints,ref i);

out 参数必须在函数体内初始化 SomeFun(out i);

 

4、方法重载

方法重载不能通过返回值、ref、out来定义

 

5、构造函数和静态构造函数

c#的构造函数能把成员变量初始化为null和0,可以无需定义

静态构造函数:用于确保静态的成员和属性初始化,无参数,无访问控制

static MyClass() {}

构造函数调用其他构造函数的方法:

public: Car(string model):this(model,4) {}

调用基类的方法:

public: Car(string model):base(model) {}

 

6、只读字段

只读使用readonly,该字段只能在构造函数中赋值

 

7、object类

object是所有类,结构的根

ToString

GetHashTable

Equals

ReferenceEquals

Finalize

GetType

MemberwiseClone

 

8、partial、static类

partial类之间可以合并为一个类,访问控制相同

static类不能被实例化


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章