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

类型转换Cast和Convert

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

把源类型赋值给目标类型,两个类型不一致的时候会发生类型转换。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” 的相关文章

while语句:编写聊天机器人,如果问“今天天气怎么样?”则回答天气 ,如果问……,如果说“88”,则“再见”。

while语句:编写聊天机器人,如果问“今天天气怎么样?”则回答天气 ,如果问……,如果说“88”,则“再见”。

while语句:编写聊天机器人,如果问“今天天气怎么样?”则回答天气 ,如果问……,如果说“88”,则“再见”。            Console.WriteLine(&quo...

机器人:具有模糊判断

机器人:具有模糊判断

自己动手写聊天机器人,能够回答不同城市的天气、回答感情问题、问的次数过多还会饿死,提问可以模糊提问(包含指定关键词)。问“天气:北京”就回复“今天北京天气很好。”。        static void&nbs...

静态成员和静态类

静态成员和静态类

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

命名空间namespace

命名空间namespace

namespace(命名空间),用于解决类重名问题,可以看做“类的文件夹”。在代码中使用其他类的时候需要using类所在的namespace。System.Collections.ArrayList,快速引入的方法,右键→解析(Ctrl+.)。为什么使用Convert、Console等类不需要自己写...

发表评论

访客

看不清,换一张

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