值类型和引用类型
来源:互联网 发布:dokidokilive直播软件 编辑:程序博客网 时间:2024/06/08 14:15
常量 C#中定义常量的语法:访问修饰符 const 数据类型 常量名 =值 如:public const double pai=3.14;
枚举 在处理非数值的数据时,普通的系统数据类型就无法再解决此类数据,例如:性别、星期等,例如在学生类里有_sex字段,如果我们用
系统的数据类型去定义,那就只能是 string _sex,当我们给它赋值时,我们都知道,只能赋“男”或“女”,但是当有人给它赋其他值时,在语法上
是没有问题的,但是理论上却不行,所以在此时我们需要解决这个问题,这时候枚举就先得非常合适了。
枚举语法:public enum 枚举名
{
标识符[=整形常数]
标识符[=整形常数]
标识符[=整形常数]
}
类可以产生一个对象,但有时需要将一个对象作为内置的一个数据类型以加快分配,比如颜色本身是一个对象,但是在C#中颜色被直接
看作是一个数据类型,再比如整形是我们在编程中常用的一个数据类型,它本身也是个对象,但是如果用类来表示的话,会增加很大消耗,
也会出现过多的引用重载或开销,为解决这个问题,C#中使用了结构。
结构语法:访问修饰符 struct 结构名
{
///结构体
}
结构实例:struct ReaderStruct
{
string _name;
public string Name
{
get{return _name;}
set{_name=values;}
}
}
int _age;
public viod Read()
{
//方法体
}
结构跟类很相似,但有以下区别:
结构 类
值类型,在堆栈上分配地址 引用类型,在堆上分配地址
没有默认的构造方法,但是可以添加构造方法 有默认的构造方法
没有析构函数 有析构函数
不能给字段赋值 可以给字段赋值
不能有protected修饰符 可以使用
不能添加无参构造方法 可以添加
不能被继承 能被继承
值类型 当创建一个值类型的时候,都会在堆栈上开辟一块新的内存空间来保存值,当修改这个值的时候其实是修改它所在的内存空间的值。
引用类型 C#中除了值类型还有一类叫引用类型,引用类型和值类型的存储方式不同,当创建一个引用类型的时候,在堆上分配一块空间,用来
存储引用类型(类)对象,当给这个引用类型赋值的时候,在堆栈上划分一块空间用来存储类在这个堆上的地址(当给这个地址起名字的时候就是所定义的
变量名)。在给引用类型赋值的时候,其实赋值的是引用类型的地址。
装箱 C#中由值类型转换为引用类型叫做装箱。拆箱是装箱的逆过程。
枚举 在处理非数值的数据时,普通的系统数据类型就无法再解决此类数据,例如:性别、星期等,例如在学生类里有_sex字段,如果我们用
系统的数据类型去定义,那就只能是 string _sex,当我们给它赋值时,我们都知道,只能赋“男”或“女”,但是当有人给它赋其他值时,在语法上
是没有问题的,但是理论上却不行,所以在此时我们需要解决这个问题,这时候枚举就先得非常合适了。
枚举语法:public enum 枚举名
{
标识符[=整形常数]
标识符[=整形常数]
标识符[=整形常数]
}
类可以产生一个对象,但有时需要将一个对象作为内置的一个数据类型以加快分配,比如颜色本身是一个对象,但是在C#中颜色被直接
看作是一个数据类型,再比如整形是我们在编程中常用的一个数据类型,它本身也是个对象,但是如果用类来表示的话,会增加很大消耗,
也会出现过多的引用重载或开销,为解决这个问题,C#中使用了结构。
结构语法:访问修饰符 struct 结构名
{
///结构体
}
结构实例:struct ReaderStruct
{
string _name;
public string Name
{
get{return _name;}
set{_name=values;}
}
}
int _age;
public viod Read()
{
//方法体
}
结构跟类很相似,但有以下区别:
结构 类
值类型,在堆栈上分配地址 引用类型,在堆上分配地址
没有默认的构造方法,但是可以添加构造方法 有默认的构造方法
没有析构函数 有析构函数
不能给字段赋值 可以给字段赋值
不能有protected修饰符 可以使用
不能添加无参构造方法 可以添加
不能被继承 能被继承
值类型 当创建一个值类型的时候,都会在堆栈上开辟一块新的内存空间来保存值,当修改这个值的时候其实是修改它所在的内存空间的值。
引用类型 C#中除了值类型还有一类叫引用类型,引用类型和值类型的存储方式不同,当创建一个引用类型的时候,在堆上分配一块空间,用来
存储引用类型(类)对象,当给这个引用类型赋值的时候,在堆栈上划分一块空间用来存储类在这个堆上的地址(当给这个地址起名字的时候就是所定义的
变量名)。在给引用类型赋值的时候,其实赋值的是引用类型的地址。
装箱 C#中由值类型转换为引用类型叫做装箱。拆箱是装箱的逆过程。
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 引用类型和值类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 引用类型和值类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 引用类型和值类型
- 值类型和引用类型
- 值类型和引用类型
- 怎样在后台找到前台的table空间并设置table中单元格是否显示
- 【算法总结-数学】求1-N中1出现的次数
- unity3d中让某个物体透明
- 虚函数、虚表原理
- FACEBOOK的实时HADOOP系统
- 值类型和引用类型
- win7 调成保护眼睛的颜色
- Java 链表
- GDB命令大全
- 后缀树(Suffix Tree) 应用
- 《51测试天地》第23期电子杂志发布啦!
- gdb命令手册
- [转]SWFUpload详细参数使用说明
- linux源码方式安装Apache