C#难点逐个击破(9):类型转换

时间:2021-05-20

显式转换与隐式转换

类型之间的转换可以分为隐式转换与显式转换,如int类型可直接转换为long类型。
复制代码 代码如下:

int intNum = 23;
long longNum1 = intNum;

也可进行显式转换;
复制代码 代码如下:

int intNum = 23;
long longNum2 = (long)intNum;

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的数据类型。
复制代码 代码如下:

bool isTrue=false;
string strNum = Convert.ToString(isTrue);

TryParse()

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

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());

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章