求助这段c#代码的输出为什么是 True False False True 1.0是被当做整型来处理的吗?

 我来答
quaff322
2013-02-19 · 超过27用户采纳过TA的回答
知道答主
回答量:133
采纳率:66%
帮助的人:27.1万
展开全部
1是整型 所以true
1.0是double类型。所以是true
只有1.0f is float 就是true.
追问
is操作符的定义不是这样么:“
is 操作符被用于动态地检查运行时对象类型是否和给定的类型兼容运算e is
T 的结果其中e 是一个表达式T 是一个类型返回值是一个布尔值它表示e
是否能通过引用转换装箱转换或拆箱转换成功地转换于T 类型
”那。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狮是搞完泪18
2013-02-19 · TA获得超过271个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:260万
展开全部
在.net如果你没有显示对变量进行类型声明,所有的小数,默认都是double类型的
除非你这样定义
float n = 0.1f;
Console.WriteLine(n is float);
Console.WriteLine(n is double);
结果为
ture
false
追问
谢谢你!那我还能问一下么,double类型不是可以通过拆箱转换变为float么,那为什么第三个表达式输出为false呢
追答
呵呵,double类型变为float类型需要强制类型装换,有可能溢出,有可能数据丢失,不是装箱和拆箱的概念
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
theprogrammer
2013-02-19 · TA获得超过1650个赞
知道小有建树答主
回答量:1127
采纳率:0%
帮助的人:473万
展开全部
1 作为整形,不是float
1.0 作为double,也不是float。
追问
但是double是可以通过显示转换变成float的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式