c#如何动态强制类型转换

2024-11-29 11:20:31
推荐回答(1个)
回答1:

1.任何一门编程语言均有相关数据类型。c#也不例外,其基本数据类型有int,short,long,float,double,string等。数据类型之间可以相互转换。不过转换过程要注意小类型能转换成大类型,但大类型一般不能转换成小类型。如int型可以转换成float型,但float型不一定可以转换成int型,至少这在c,c++是这样,但在c#中明显有了改变,似乎微软公司也允许这样的形式存在了。例如:
double
dbl_num=12345678910.456;
int
k
=
(int)
dbl_num
;//此处运用了强制转换
以上代码如果在c,c++中强制转换成int型,肯定会出错,但现在在c#中却不会出错了,不过转换后的值往往是溢出值,是不精通的。这点需要大家注意。
2.采用另一种方式转换类型,如int.parse(),int32.parse()等采用方法来转换.
如string
str=”100〃;
int
i=int.parse(str);
注意:str除掉引号的类型必须和*.parse的类型一致。如果将100改成100.78,即变成float类型,运行时将会报错”输入字符串的格式不正确.”
3.采用后缀式转换,如k.tostring(),一般运用于字符串或日期等其它类型
int
i=100;
string
s=i.tostring();
4.采用convert类来实现转换,该类基本支持所以类型之间的转换
string
str=”100〃;
int
i
=
convert.toint16(str);
注意:str除掉引号的类型必须和convert.*的类型一致。如果将100改成100.78,即变成float类型,运行时将会报错”输入字符串的格式不正确.