定义;转换是接受一个类型的值并使用它作为另一个类型的等价值过程
转换后的值和源值一样的,但其类型为目标类型。
定义:高精度往低精度数据类型转换时,需要使用显式转换
定义:检测某些数值类型转化的过程中是否有数据溢出可使用关键字checked
定义:值类型转换为引用类型的操作称之为装箱,装箱的本质是创建副本
装箱的其实是在创建引用副本,任何类型都可被隐式的转换为Object类型(装箱)
定义:值类型转换为引用类型的操作称之为拆箱
PS:尝试将一个值拆成非原始类型时会抛出一个InvalidCastException异常:指定的转换无效
装箱和拆箱的意义:在使用非泛型的函数方法接受参数时,可以用Object类型通过装箱和拆箱操作获取到任意类型的参数
定义:为用户类和结构定义提供隐式和显示转换
class Person{ public string Name; public int Age; public Person(string name,int age) { Name = name; Age = age; } public static implicit operator int(Person p) { return p.Age; } public static implicit operator Person(int i) { return new Person("Nemo",i); } class Program{ static void Main(){ Person bill = new Person("bill",25); } //把Person对象转换为Int int age = bill; Console.WriteLine($"Person Info :{bill.Name},{age}"); //把int转化为Person对象 Person anno = 35; Console.WriteLine($"Person Info {anno.Name} ,{anno.Age}") } //输出结果: Person Info:bill,25 Person Info Nemo,35
定义:用于检测类型之间是否可以相互转换,判断返回是一个bool值
定义:作用类似于强制转换运算符,只是它不抛出异常,如果转换失败,它返回null而不是抛出异常
as运算符语法
Expr as TargetType