c#基础--数据类型及变换

来源:互联网 发布:取名软件免费版 编辑:程序博客网 时间:2024/06/07 12:35

一、属性和字段

1.字段:像数据库中非常自由的,毫无限制的访问共有信息,称之为字段

2.属性:但是我们有时候希望字段有一定的取值范围,以及读写状态,这样就引入了属性

3.区别:

(1)属性是逻辑字段,是字段的扩展,不占用实际的内存;而字段占用内存空间

以下是一个个人理解的例子(觉得可能有些偏差,望大家提意见!)


(2)字段允许自由读写,而属性要求字段只能读或者只能写

例如:当我们共享文件时可以设置文件的属性(是否允许读写),那么此时文件中的信息就相当于字段,如果不设置属性,字段就允许自由读写。

4.具体代码体现

//可读写public int a{    set { _a = value; }    get { return _a; }}//只读public bool b{    get { return _b; }}

所以set负责属性的写入,get负责属性的读取


二、常量和变量

1.变量:在程序的运行过程中其值可以改变的量,

格式:变量的数据类型 变量名(标识符);

使用:int a=10;  double b,c;  int d=100,e=200;  double f=a+b+c+d+e;

2.常量:通过声明和初始化变量时,在前面加上const关键字,可以把此变量指定为常量;

格式:const 常量数据类型 变量名(标识符)=常量值;

使用:const double PI=3.1415926;


三、拆箱和装箱

1.装箱:调用一个含有类型为object的参数的方法,改object可以支持任意类型,以变通用,当你需要将一个值类型(如int32)传入时,需要装箱。

int val = 100;  object obj = val;  Console.WriteLine (“对象的值 = {0}", obj); 
2.拆箱:将值类型转换成引用类型,再由引用类型转换成值类型的过程

从object类型到值类型或从接口类型到实现该接口的值类型的显示转换

int val = 100;  object obj = val;  int num = (int) obj;  Console.WriteLine ("num: {0}", num); 

四、重载和重写

1.重载:在同一定义域内(比如一个类里面)。方法名相同,参数个数、次序、类型不同。其实就是建立一个类,在类中构造两个以上的方法。

class Cat{      public string name="";      public Cat(string name)      {this.name=name;       }public Cat() {this.name="无名";}    }

1 0