隐式转换和显式转化

Jyang0701 2009-12-17 07:20:09
今天看了一篇文章 里面介绍的隐式转化和显式转换把我搞糊涂了 请大家帮忙简单说说它们的区别在那里? 谢了、、、
...全文
991 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuaicike2013 2011-09-28
  • 打赏
  • 举报
回复
我也来学习了
makefaces1 2011-09-27
  • 打赏
  • 举报
回复
学习来了..
do__i 2011-09-11
  • 打赏
  • 举报
回复
数据类型的转换为了更好的处理数据。
wuchuangxin1998 2011-02-28
  • 打赏
  • 举报
回复
隐式转换不用写什么代码,显式转化则要写代码
Comforter 2009-12-20
  • 打赏
  • 举报
回复
学习了
Jyang0701 2009-12-19
  • 打赏
  • 举报
回复
大家说的很好 我差不多懂了 呵呵、、、
as我知道额 用as的却蛮好的 嘎嘎、、、 谢了哦!
足球中国 2009-12-18
  • 打赏
  • 举报
回复
建议多用as

as是类型安全的。。

btn.clickobject sender, EventArgs e)
{
button btn=sender as button;
if(btn==nuu)
{

}
else
{
这样写东西。
}


___________________________________
我写的vs2005源代码管理器,只有团队资源管理中源码管理的功能。
http://topic.csdn.net/u/20091203/10/ca40b678-5443-4a18-a9f6-fad9051d0797.html

}
wanghui0380 2009-12-18
  • 打赏
  • 举报
回复
冯诺依曼机的理论都是基于离散数学的

而离散数学第一章就是 内涵与外延,包含于被包含。 知道内涵与外延、包含于被包含了,这个问题就很容易理解了

总体上说就是,大范围的能隐式转成小范围的, 包含的能隐式转成被包含的,子类(外延)能隐式转成父类(内涵)

同理,从小的往大的转,就必须显式转换
sxinhe 2009-12-18
  • 打赏
  • 举报
回复
上面说的已经很全了。。。我就在这里帮忙顶下吧。。
HELLOWORDC 2009-12-18
  • 打赏
  • 举报
回复
我理解的隐式转换是依靠语法规则自动转换数据类型,例如:float f;int i=f+3,其中自动把f转换成整型;显示转换是依靠语法规则自动转换不了,必须依靠强制转换,才能顺利转换,例如float f = 12; int i = (int)f;
alvin_baby 2009-12-18
  • 打赏
  • 举报
回复
显示转换:int.parse()
隐示转换:string int=1
wartim 2009-12-18
  • 打赏
  • 举报
回复
数据类型是简单类型
wartim 2009-12-18
  • 打赏
  • 举报
回复
C#的隐式类型转换和显式类型转换http://hi.baidu.com/wwang634/blog/item/9ddb3800ce44c117728b6597.html

数据类型从小到大都可以隐式转换,比如int->long
shighui 2009-12-18
  • 打赏
  • 举报
回复
如果同为值类型,何谈装与拆?
shighui 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 vrhero 的回复:]
引用 10 楼 yanimaziba 的回复:
标准的说法是装箱跟拆箱的操作,

青鸟生?你真的理解“装箱”和“拆箱”是什么意思吗?
[/Quote]


这位大哥,别说的人家那么不好听吗,同是搞技术的,给点面子吧。他说的是不对,这只是数据在内存中做的处理。不是装箱拆箱问题。而且差得远了。
cuike519 2009-12-18
  • 打赏
  • 举报
回复
显式转换是你把一个对象按照指定的转换规则转换成另一个对象,这种转换不一定会成功,因为类型可能不一致。
隐式转换是你不指定转换类型而有编译器或者在运行时自动转换成合适的对象,这种转换一般都会成功。
vrhero 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yanimaziba 的回复:]
标准的说法是装箱跟拆箱的操作,
[/Quote]
青鸟生?你真的理解“装箱”和“拆箱”是什么意思吗?
jeven_xiao 2009-12-18
  • 打赏
  • 举报
回复
标准的说法是装箱跟拆箱的操作,
vrhero 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ouyangfeng521 的回复:]
隐式转化 int i=2*2.2//得到一个int
[/Quote]
你觉得可能通过编译吗?你恰好给楼主举了一个应该显式转换却错误地试图隐式转换的反例...
perisenjut 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 goga21cn 的回复:]
隐式转换:不用告诉程序需要进行类型转换,程序中自己会转。
将一小杯水倒进大杯中,是不会有问题的。
比如
C# codeint i=12;float f=i;

显式转换:自己告诉程序需要进行类型转换。
因为将一大杯水倒进小杯水中有可能溢出来。相当于告诉程序溢出来的不要了。
比如
C# codefloat f=12;int i= (int)12;
[/Quote]

很精彩的解释了
加载更多回复(8)

111,120

社区成员

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

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

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