显式转换与隐式转换
类型之间的转换可以分为隐式转换与显式转换,如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 ConvertSystem.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());
以上就是C#难点逐个击破(9):类型转换的内容,更多相关内容请关注PHP中文网(www.php.cn)!