当前位置:首页 > C#学习 > 正文内容

类型转换Cast和Convert

小道7年前 (2018-08-20)C#学习7207

把源类型赋值给目标类型,两个类型不一致的时候会发生类型转换。a=b,b是源,a是目标。

隐式转换、显式转换。当目标类型一定能满足源类型转换过去后的要求的话就是隐式转换;如果当目标类型不一定能满足源类型转换过去后的要求的话就需要显式转换(程序员自己负责)。

比如:把中国人转换为人是隐式转换,把人转换为中国人则是显式转换(强制转换)

            int i;//定义一个整型变量
            byte s=100;//byte数据范围:0~255
            i = s; //都是数据类型,int类型比byte 存储数据多 可以直接赋值,
            Console.WriteLine("s的值为:{0}",s);//输出s的值。
            Console.WriteLine("i的值为:{0}",i);//输出i的值。
            s = (byte)i;// byte类型 比int 类型存储数据少,前面必须强制转换。  可能发生溢出。

输出结果:

image.png

            int i = 88888887;//定义一个整型变量
            byte s;//byte数据范围:0~255
            s = (byte)i;// byte类型 比int 类型存储数据少,前面必须强制转换。  可能发生溢出。
            Console.WriteLine("s的值为:{0}", s);//输出s的值。
            Console.WriteLine("i的值为:{0}", i);//输出i的值。

输出结果:

image.png

PS:byte s类型,已发生溢出,显示值为:“55”.正常值为:“88888887”。是由于byte最大支持到255。


Convert不再是内存级别的转换,而是考虑数据意义的转换。可以把姓名Convert成人。Convert是一个加工、改造的过程。

            string s = "1111";//定义一个字符串变量s,赋值为:"1111"(看起来想数字。)
            int i = Convert.ToInt32(s);//将字符串s 转变成整型赋值给i
            i = i + 1;//i+1 赋值给i
            Console.WriteLine("i的结果为:{0}",i);//输出i的结果。
            s = s + 1;//将s+1赋值给s
            Console.WriteLine("s的结果为:{0}", s);//输出s的结果。
            Console.ReadKey();

输出结果:

image.png

PS:从结果可以看出,i是数字+1=1112,s是在1111后面+上8=11118。


扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://daobk.com/post/20.html

标签: CastConvert
分享给朋友:

“类型转换Cast和Convert” 的相关文章

for语句:用 for实现计算1到100之间所有整数的和。

for语句:用 for实现计算1到100之间所有整数的和。

for语句:用 for实现计算1到100之间所有整数的和。            int i;//定义一个整型变量,未赋值    &nbs...

数组:将一个字符串数组输出为|分割的形式

数组:将一个字符串数组输出为|分割的形式

数组:将一个字符串数组输出为|分割的形式,比如“王钢蛋|李铁蛋|铁锤”            string[] s = { "王钢...

String类常用函数

String类常用函数

String类常用函数ToLower():得到字符串的小写形式。注意字符串是不可变的,所以这些函数都不会直接改变字符串的内容,而是把修改后的字符串的值通过函数返回值的形式返回。ToUpper():得到字符串的大写形式; Trim()去掉字符串两端的空白。s1.Equals(s2, StringCom...

构造函数

构造函数

构造函数用来创建对象,并且可以在构造函数中对对象进行初始化。构造函数是用来创建对象的特殊函数,函数名和类名一样,没有返回值,连void都不用。构造函数可以有参数,new对象的时候传递函数参数即可构造函数可以重载,也就是有多个参数不同的构造函数。如果不指定构造函数,则类有一个默认的无参构造函数。如果指...