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

类型转换Cast和Convert

小道6年前 (2018-08-20)C#学习5529

把源类型赋值给目标类型,两个类型不一致的时候会发生类型转换。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://www.daobk.com/post/20.html

标签: CastConvert
分享给朋友:

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

字符串函数详解

字符串函数详解

字符串替换:string Replace(string oldValue, string newValue)将字符串中的出现oldValue的地方替换为newValue。例子:名字替换。取子字符串:string Substring(int startIndex),取从位置startIndex开始一直...

函数的ref、out参数

函数的ref、out参数

函数参数默认是值传递的,也就是“复制一份”ref必须先初始化,因为是引用,所以必须先“有”,才能引用,而out则是内部为外部赋值,所以不需要初始化,而且外部初始化也没用。ref应用场景内部对外部的值进行改变,out则是内部为外部变量赋值,out一般用在函数有多个返回值的场所。  ...

定义类:一个类可有有多个实例。

定义类:一个类可有有多个实例。

一个类可有有多个实例。类就是把一系列相关的变量(状态)、行为定义为一个整体。字段记录的就是这个对象相关的数据。    class Program     {     ...

静态成员和静态类

静态成员和静态类

全局变量。static类变量。不用new就能用的方法:static方法,static方法其实就是普通函数在static方法中可以调用其他static成员,但是不能调用非static成员。在非static方法中可以调用static成员。    class&nbs...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。