C#编程基础—数据类型

C#的基本数据类型、变量、常量、表达式、程序流程控制语句及数组等概念是C#程序设计的基础,磨刀不误砍柴,掌握这些是前提。

一、基本类型

C#中,数据类型分成两大类:一类是值类型(Value Types),一类是引用类型(Reference Types).

值类型:

包含实际数据的量。C#中的值类型包括:简单类型、枚举类型和结构类型。

C#编程基础—数据类型_第1张图片

引用类型:

包括class(类)、interface(接口)、数组、delegate(委托)、object和string。其中object和string是两个比较特殊的类型。object是C#中所有类型(包括值类型、引用类型)的根类。string类型是一个从object类直接继承的密封类型(不能再被继承 ),其实例表示Unicode字符串。

值类型与引用类型关系

可以把值类型与引用类型的值赋给object类型变量,C#用“装箱”和“拆箱"来实现值类型与引用类型的转换

”装箱“就是将值类型包装成引用类型的处理过程。当一个值类型被要求转换成一个object对象时,”装箱“操作 自动进行,它首先创建一个对象实例,然后把值类型的值复制到这个对象实例,最后由object 对象引用 这个对象实例

例:

using System;
class Demo
{
	public static void Main()
	{
		int X=123;
		object obj1=X;//装箱操作
		X=X+100;//改变X的值,此时obj1的值并不会随之改变
		Console.WriteLine("X={0}",x);//X=223
		Console.WriteLine("obj1={0}",obj1);//obj1=123
	}
}
“拆箱”操作与“装箱”相反,它是将一个object类型转换成值类型。首先检查 由object引用的对象实例值类型的包装值,然后把实例中的值复制到值类型的变量中。

例如:

using System;
class Demo
{
	public static void Main()
	{
		int x=123,y;
		object obj1=x; //装箱操作
		x=x+100;       //改变x的值,此时obj1的值并不会随之改变
		y=(int)obj1;   //拆箱操作,必须进行强制类型转换
		Console.WriteLine("x={0}",x);       //x=223
		Console.WriteLine("obj1={0}",obj1); //obj1=123
	}
}



你可能感兴趣的:(数据,C#)