c#中类型如何强制转换

c#中类型如何强制转换... c#中类型如何强制转换 展开
 我来答
纵横竖屏
2018-09-07 · TA获得超过46.7万个赞
知道小有建树答主
回答量:164
采纳率:93%
帮助的人:7.4万
展开全部

方法:

1、int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型);

2、int.Parse(string sParameter)是个静态方法,参数类型只支持string类型;

3、Convert.ToInt32()适合将Object类型转换为int型;

4、Convert.ToInt32()和int.Parse()的细微差别:

对于空值(null)的处理不 同,Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则 会产生异常。 

扩展资料:

强制类型转换是通过类型转换运算来实现的。其一般形式为:(类型说明符)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。自动转换是在源类型和目标类型兼容以及目标类型广于源类型时发生一个类型到另一类的转换。

例如: (float) a 把a转换为浮点型,(int)(x+y) 把x+y的结果转换为整型。

参考资料:强制类型转换百度百科

小圆帽聊汽车
高粉答主

2018-12-05 · 致力于汽车领域知识的解答
小圆帽聊汽车
采纳数:795 获赞数:270504

向TA提问 私信TA
展开全部

方法:

1、int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型);

2、int.Parse(string sParameter)是个静态方法,参数类型只支持string类型;

3、Convert.ToInt32()适合将Object类型转换为int型;

4、Convert.ToInt32()和int.Parse()的细微差别:

对于空值(null)的处理不 同,Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则 会产生异常。 

扩展资料

自动类型转换:

在C语言中,自动类型转换遵循以下规则:

1、若参与运算量的类型不同,则先转换成同一类型,然后进行运算。

2、转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。

a、若两种类型的字节数不同,转换成字节数高的类型

b、若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型

3、所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。

4、char型和short型(在visual c++等环境下)参与运算时,必须先转换成int型。

5、在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分直接舍去。

参考资料百度百科-强制类型转换

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦星夜空001
2010-09-01 · TA获得超过143个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:134万
展开全部
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类型,运行时将会报错”输入字符串的格式不正确.”

参考资料: http://edu.codepub.com

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收到飞洒1
2017-04-22 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2.4万
采纳率:53%
帮助的人:2175万
展开全部
将 String类型强制转换成int类型
方法一:int i=System.Convert.ToInt32(String)
方法二:
try{
int i=Int32.Parse(String);
}
catch{
}
有一些并不一定能够转换的,加一个try
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2020-11-19 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式