C#编程自学之数据类型和变量三

2019-12-26 13:34:17王振洲

C#语言类型系统提出的一个核心概念装箱(boxing)拆箱(unboxing)。装箱和取消装箱的概念是C#的类型系统的核心。它在“值类型”和“引用类型”之间的架起了一座桥梁,使得任何“值类型”的值都可以转换为object类型的值,反过来转换也可以。

了解了数据类型与变量的基本概念之后,我们来讨论数据类型的转换与装箱与拆箱!装箱和取消装箱使我们能够统一地来考察类型系统,其中任何类型的值最终都可以按对象处理。

一、数据类型转换

在编程时 我们有时候会遇到将一个类型的变量转换成另一种数据类型,我们称它为数据类型的转换,C#数据类型的转换有两种方式如下:

1.默认安全的数据类型转换

默认安全的数据类型转换:我们称之为 隐式的数据类型转换,什么是隐式的数据类型转换?隐式的数据类型转换就是数据类型的低范围(参考C#数据类型与变量一中的数据类型的范围)向高范围的数据类型的转换。例如:

 

 
  1. int a = 200; //int 范围是 -2147483648~2147483647   long b = a; //long 范围是 -9223372036854775808~9223372036854775807 表示的整数范围更大 并且这个范围包含200 
  2. //所以我们认为这两个数据类型转换是默认合法的也称隐式数据类型转换  Console.WriteLine("b = "+b.ToString()); 

运行结果当时会输出:“b = 200”这段话啦!

C#编程自学之数据类型和变量三

2.强制的数据类型转换

了解隐式数据类型的转换后,我们在来了解下强制的类型转换,强制类型转换就是,当不满足隐式数据类型转换的规则时,的一种数据类型转换的方法,强制数据类型转换必然会引发一些错误,例如: