(保存数值的变量地址)被复制,而实际 的值仍然保留在相同的内存位置。 的值仍然保留在相同的内存位置。 区别二: 区别二: 值类型总是包含一个值; 值类型总是包含一个值; 总是包含一个值 引用类型可以为空,不包含任何值。 引用类型可以为空,不包含任何值。 可以为空
.NET技术课程组 技术课程组
Logo
2.1.4 装箱和拆箱
装
箱和拆箱是C#类型系统的核心概念。 装箱和拆箱是C#类型
系统的核心概念。通过允许 C#类型系统的核心概念 一个值类型转换为引用类型或从一个引用类型转换 成值类型, 成值类型,这种机制形成了值类型和引用类型之间 等价连接。即任何数据都可以被看作对象。 等价连接。即任何数据都可以被看作对象。 1.装箱转换:将值类型包装为引用类型的过程。 .装箱转换:将值类型包装为引用类型的过程。 2.拆箱转换:将一个object类型转换为值类型。 .拆箱转换:将一个 类型转换为值类型。 类型转换为值类型
.NET技术课程组 技术课程组
15
Logo
2.1.4 装箱和拆箱
class Program { static void Main(string[] args) { int x = 123; object obj = x; //装箱操作 装箱操作 x = x + 100; //改变 的值,obj的 改变x的值 改变 的值, 的 值不会随之改变 Console.WriteLine("x = {0}", x); Console.WriteLine("obj = {0}", obj); } } } .NET技术课程组 技术课程组 } class Program { static void Main(string[] args) { int x = 123, y; object obj = x;//装箱操作 装箱操作 x = x + 100; //改变 的值,obj的 改变x的值 改变 的值, 的 值不会随之改变 y = (int)obj; //拆箱操作 拆箱操作 Console.WriteLine("x = {0}", x); Console.WriteLine("obj ={0}",obj);
Logo
2.2 常量和变量
带有const修饰符声明的变量称为常量,声明常 修饰符声明的变量称为常量, 带有 修饰符声明的变量称为常量 量时要设置常量值。 量时要设置常量值。 在
程序执行过程中值是不可改变的 在程序执行过程中值是不可改变的 例:“Hello !”, 123 使用const关键字定义的常量 使用 关键字定义的常量 例:const double pi = 3.1415926; const int x=10; ;
.NET技术课程组 技术课程组
17
Logo
2.2.1 常量
编写程序输出1000和100的和与差 和 编写程序输出 的和与差
class Program { const int FIRST = 1000; static void Main(string[] args) { int s; /*定义整型变量 定义整型变量*/ 定义整型变量 s=FIRST+100; /* 相当于 相当于S=1000+100 */ Console.WriteLine("the sum is {0}\n",s); s=FIRST-100; /* 相当于 相当于S=1000-100 */ Console.WriteLine("the difference is {0}\n",s); } }
.NET技术课程组 技术课程组
Logo
2.2.1 常量
常量:常数, 常量:常数,或代表固定不变值的名字 直接常量: 直接常量:如:3.1415926,书写简单,但是 ,书写简单, 可读性差、容易出错。 可读性差、容易出错。 符号常量的好处:望文生义;一改全改 符号常量的好处:望文生义;
.NET技术课程组 技术课程组
Logo
2.2.2 变量
变量的作用: 变量的作用:
程序要对数据进行读、 程序要对数据进行读