隐式转换:一般是低类型向高类型转化,能够保证值不发生变化。
隐式数值转换:
从 sbyte 到 short、int、long、float、double 或 decimal。
从 byte 到 short、ushort、int、uint、long、ulong、float double 或 decimal。
从 short 到 int、long、float、double 或 decimal。
从 ushort 到 int、uint、long、ulong、float、double 或 decimal。
从 int 到 long、float、double 或 decimal。
从 uint 到 long、ulong、float、double 或 decimal。
从 long 到 float、double 或 decimal。
从 ulong 到 float、double 或 decimal。
从 char 到 ushort、int、uint、long、ulong、float、double 或 decimal。
从 float 到 double。
不存在向 char 类型的隐式转换,因此其它整型的值不会自动转换为 char 类型。
浮点型不能隐式地转化为decimal型 。
隐式数据类型转换适用于数值类型的数据之间。int,float,double类型都属于数值类型。隐式数据类型转换应遵循以下规则才能实现。
对于数值类型,任何数据类型A,只要其取值范围完全包含在类型B的取值范围之内,就可以实现隐式类型转换。即整型数据(int)类型可以隐式转换浮点型(float)和双精度型(double)数据。浮点型(float)数据可以隐式转换为双精度(double)数据。
下面这段代码说明隐式转换:
int num1=3;
float num2=num1;
double num3=num1+num2;
隐式枚举转换:
隐式枚举转换允许将十进制整数 0 转换为任何枚举类型。
隐式引用转换:
派生类向基类转换
隐式引用转换是指一类引用类型之间的转换,这种转换总是可以成功,因此不需要在运行时进行任何检查。
装箱转换:
装箱转换允许将值类型隐式转换为引用类型。
分享到:
相关推荐
c# 允许用户进行两种定义的数据类型转换,显式和隐式,显式要求在代码中显式的标记转换,其方法是在圆括号中写入目标数据类型。 对于预定义的数据类型,当数据类型转换时可能失败或丢失某些数据,需要显式转换, 1 ...
了解了数据类型与变量的基本概念之后,我们来讨论...隐式的数据类型转换就是数据类型的低范围(参考C#数据类型与变量一中的数据类型的范围)向高范围的数据类型的转换。例如: int a = 200; //int 范围是 -21474836
1、Convert.ToInt32(); //转换成32位的整数。2、变量.ToString();/最常见的转换成 字符串。3、”订单”+2514 //后面的数字会转换为字符串。4、((类名A)对象名X) //强行将 ...隐式数值C#数据类型转换:从 sbyte 到 sho
C#中的数据转换类型可以分为以下3种:隐式转换、显式转换、装箱和拆箱。 三种语言数据转换类型对比 隐式转换 (1)这个比较简单且容易理解,以前老师也讲过。隐式转换是系统默认的、不需要加以声明可以...
int x; long y = 123456789101112; x = (int)y; Console.WriteLine(x); 输出结果: 我们知道long类型的取值范围是-...相反的就是执行隐式转换(implicit). 用chencked检查上面的代码 从图得知上面的
隐式类型转换 – 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。 显式类型转换 – 显式类型转换,即强制类型转换。显式转换需要...
隐式类型转换 – 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。 转换规则 从存储范围小的类型到存储范围大的类型。 整数具体规则为...
类型转换分为两大类:隐式转换和显式转换 隐式转换:也就是自动转换。编译器自动识别,不需要自己额外写更多的代码。 显式转换:也就是强制转换。告诉编译器,什么类型转换到什么类型。 二 隐式转换 小类型的数据...
C#中的数据类型有两种,分别为值类型和引用类型,二者的差异在于数据的存储方式,值类型直接存储数据;而引用类型则存储实际数据的引用,程序通过此引用找到真正的数据,因此引用类型的变量通常也叫做对象。对于值...
装箱是值类型到 object 类型或到该值类型所实现的任何接口类型的隐式转换。将一个值的值装箱会分配一个对象实例并将该值复制到新的对象中。关键字 object. 取消装箱是从 object 类型到值类型或从接口类型到实现该...
2.6.3 不使用转型操作符的类型转换 42 2.7 数组 43 2.7.1 数组的声明 44 2.7.2 数组的实例化和赋值 45 2.7.3 数组的使用 48 2.7.4 字符串作为数组使用 52 2.7.5 常见数组错误 53 2.8 ...
实例207 使用隐式类型局部变量实现字母的大小写转换 实例208 使用扩展方法显示员工信息 实例209 使用lambda表达式查找指定字符串 实例210 检查序列中是否包含指定元素 实例211 使用linq在一个循环中遍历多个数组 ...
6.1 隐式类型转换 .48 6.2 显式类型转换 .53 6.3 小 结 .56 第七章 表 达 式 .58 7.1 操 作 符 .58 7.2 算术操作符和算术表达式.59 7.3 赋值操作符和赋值表达式.64 7.4 关系操作符和关系表达式.65 ...
18.3 attribute的构造器和字段/属性的数据类型 18.4 检测定制attribute 18.5 两个attribute实例的相互匹配 18.6 检测定制attribute时不创建从Attribute派生的对象 18.7 条件attribute类 第19章 可空值类型 ...
2.6.3 不进行转型的类型转换 2.7 数组 2.7.1 数组的声明 2.7.2 数组的实例化和赋值 2.7.3 数组的使用 2.7.4 字符串作为数组使用 2.7.5 常见错误 2.8 小结 第3章 运算符和控制流 3.1 运算符 3.1.1 一元...
18.3 attribute的构造器和字段/属性的数据类型 18.4 检测定制attribute 18.5 两个attribute实例的相互匹配 18.6 检测定制attribute时不创建从Attribute派生的对象 18.7 条件attribute类 第19章 可空值类型 ...
实例207 使用隐式类型局部变量实现字母的大小写转换 397 实例208 使用扩展方法显示员工信息 398 实例209 使用lambda表达式查找指定字符串 400 实例210 检查序列中是否包含指定元素 402 实例211 使用linq在一个循环中...