显式转换与隐式转换

类型之间的转换可以分为隐式转换与显式转换,如int类型可直接转换为long类型。

            /*隐式转换*/
            int intNum = 23;
            long longNum1 = intNum;

也可进行显式转换;

            /*显式转换*/
            int intNum = 23;
            long longNum2 = (long)intNum;

Parse

每个值类型都包含Parse()依法,它将字符串转换成对应的数值类型]

            /*Parse转换*/
            string text = "3.1415926E1";
            float PI = float.Parse(text);

Convert

System.Convert属于.net framework中的类,为不可继承类,它在msdn中定义原型为

public sealed class Convert

System.Convert只支持预定义数量的类型,它支持的类型包括所有值类型加String类型的基本数据类型和Object类型,这里的基本数据类型为.net framework的数据类型。

            /*Convert转换*/
            bool isTrue=false;
            string strNum = Convert.ToString(isTrue);

TryParse()

TryParse属于C#静态方法,所有基本数据类型均包含此方法。它返回bool类型,表示是否转换成功,它常搭配out来进行转换数据;若转换失败,它将返回false,不会引发异常。

            /*TryParse转换*/
            System.Console.Write("输入要转换的数值:");
            string input = System.Console.ReadLine();//输入
            int result;//转换结果
            if (int.TryParse(input, out result))
            {
                System.Console.WriteLine("转换结果为:{0}", result);
            }
            else
            {
                System.Console.WriteLine("转换失败");
            }

ToString()

所有的类型都支持ToString()方法,对于只有类型显式实现了ToString()的情况下才会返回该类型对象取值的字符串表示;其他类型ToString()只是返回数据类型的名称。

            Object o = new object();
            Console.WriteLine(o.ToString());
            int age = 23;
            Console.WriteLine(age.ToString());
            bool isMale = true;
            Console.WriteLine(isMale.ToString());

Related posts:

  1. C#难点逐个击破(2):out返回参数 之前提到ref是将原方法中的参数影响的结果返回到调用它的方法中,out与ref类似,相比之下,ref传递参数的地址,out是返回值。传值(by value)与传址(by reference)分别为普通传递参数方式与ref声明方式,传址方式在使用前需要ref关键词修饰;out为输出返回传递,与ref相同之处较多,其重要区别是在上一节讲到的ref在被引用方法中必须被初始化;out在被引用方法中一定要有返回值。 using System; /******************************  * Chapter:C#难点逐个击破(一)  * Author:王洪剑...
  2. C#难点逐个击破(4):main函数 (貌似我是在写C#的学习笔记哦,不过反正可以利用这个机会来好好温习下基础知识,这其中很多知识点都属于平时视而见的小知识) 还记得读大学时初识计算机编程时的C语言,Main(){},那时还不明白入口函数是什么意思,只知道照抄书本上的示例,一行一行地跑printf看。 在C#中Main()属于主入口函数,我们知识C、C#属于编译语言,可以想象为一段程序最开始的头部部分,由Main()函数进入逐语句进行编译后执行。假如html页面也称作编程语言的话,那么它就属于从上到下一句一句(下载)执行;js也是由上到下执行,不过js相当诡异,变量作用域要特别对待;在asp.net中一般情况下是以Page_Load(object sender,EventArgs e)可以认为是主入口。 Main()中的string[] args参数 Main()函数必须使用static修饰,也就是说它必须是静态的,不可实例化——可以实例化的话程序就完蛋了(多线程!?)。默认的Main()函数是带形式参数的,形如static void Main(string[]...
  3. C#难点逐个击破(3):params数组参数 注意,这里的paras全称是array parameter,也就是数组参数。 paras类型参数主要用于在对数组长度未知(可变)的情况下进行函数声明。在方法声明中只允许一个paras关键字,并且该关键字只能为最后一个。 using System; /******************************  * Chapter:C#难点逐个击破(三)  * Author:王洪剑...
  4. C#难点逐个击破(1):ref参数传递 c#...
  5. C#难点逐个击破(7):checked与unchecked checked 关键字用于对整型算术运算和转换显式启用溢出检查。 C#默认情况下,若常数表达式的值超过了目标类型的最大值,将会导致编译错误。 若目标数据类型不能容纳非常数表达式的数据,那么数据在赋值时会被截断。     class Program     {        ...

以上关联文章由 Yet Another Related Posts Plugin 提供支持。