隐式转换: 在c#语言中编译器会自动按照一定的规则进行数据类型的转换,将这种自动转换叫做隐式转换。
1.字节小的数据类型向字节大的数据类型的转换
int a=10;
long b=a;
2.具有内在联系的转换
比如学过c语言的都知道,字符类型其实是以其SCALL值在底层存储的,整数和字符两者在一定程度上是对等的。
char a='a';
int b=a;
3.派生类向基类的转换
C#中所有的类默认的父类或最终的类都是属于object类,即object类是一切类的祖宗,。
int a=10;
object b=a;
显示转换:需要程序员手动进行数据类型转换的我们称之为显性转换。
1.字节大的数据类型向字节小的数据类型的转换
int a=10;
sbyte b=a;
//这个会报错的,int类型无法向sbyte类型转换,这是需要手动转换,sbyte b=(int)a;
前面章节写过sbyte b=5;这里的5也是int类型;但是不会报错,只要等式右边不含变量即可。
2.基类数据向派生类的转换
其实我们主要注意显示转换后的结果对我们有没有影响就好了,不要轻易使用不知道结果的显示转换,看到有无法转换的错误,会有提示的,懂得修改就好了。