我刚接触c#不久,问一个比较基础的问题!关于类型转换的,在线等,急!!谢谢!

shenpengjun 2007-01-25 04:19:34
我刚接触c#不久,问一个比较基础的问题!关于类型转换的,在线等,急!!谢谢!

显示转换可以用 Convert,Parse,(数据类型) 后面跟个变量等 方法,下面的例子 一int 类型举例 ,问题是他们之间有什么区别,分别在什么情况下面用那种比较合适谢谢,下面的例子,Parse 应该不能使用! 因为 Parse (数据类型是String)


using System;

namespace leixingzhuanhuan
{

class Class1
{
static void Main(string[] args)
{
double a = 5.1131;
int b = Convert.ToInt32(a);
int c = (int)a;
Console.WriteLine("{0}\n{1}",b,c);
Console.ReadLine();
}
}
}
...全文
223 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
woanon 2007-01-25
  • 打赏
  • 举报
回复
int转换必须从范围大的转到范围小的,不然出错
flyaqiao 2007-01-25
  • 打赏
  • 举报
回复
有情况下用(int)会出异常.
而用Convert.ToInt32不会.
tcxx2008 2007-01-25
  • 打赏
  • 举报
回复
好问题呀,关注中,我以前用的时候没怎么想这么多。
期待好点的答案
Snowdust 2007-01-25
  • 打赏
  • 举报
回复
Parse针对的是string类型的变量。
etuchang 2007-01-25
  • 打赏
  • 举报
回复
bool val;
string input;

input = bool.TrueString;
val = bool.Parse(input);
Console.WriteLine("{0} parsed as {1}", input, val);

shenpengjun 2007-01-25
  • 打赏
  • 举报
回复
那Parse 什么条件下面使用阿!
etuchang 2007-01-25
  • 打赏
  • 举报
回复
一样的,int本身表示是有符号 32 位整数
如果是Convert.ToInt16或ToInt64的话,就不一样了。
Snowdust 2007-01-25
  • 打赏
  • 举报
回复
Convert.ToInt32使用的是Convert类提供的ToInt32方法,而int c = (int)a;则是将a强制转换成整型。结果是一样的,但方法不一样。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧