求助这段c#代码的输出为什么是 True False False True 1.0是被当做整型来处理的吗?
3个回答
展开全部
1是整型 所以true
1.0是double类型。所以是true
只有1.0f is float 就是true.
1.0是double类型。所以是true
只有1.0f is float 就是true.
追问
is操作符的定义不是这样么:“
is 操作符被用于动态地检查运行时对象类型是否和给定的类型兼容运算e is
T 的结果其中e 是一个表达式T 是一个类型返回值是一个布尔值它表示e
是否能通过引用转换装箱转换或拆箱转换成功地转换于T 类型
”那。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在.net如果你没有显示对变量进行类型声明,所有的小数,默认都是double类型的
除非你这样定义
float n = 0.1f;
Console.WriteLine(n is float);
Console.WriteLine(n is double);
结果为
ture
false
除非你这样定义
float n = 0.1f;
Console.WriteLine(n is float);
Console.WriteLine(n is double);
结果为
ture
false
追问
谢谢你!那我还能问一下么,double类型不是可以通过拆箱转换变为float么,那为什么第三个表达式输出为false呢
追答
呵呵,double类型变为float类型需要强制类型装换,有可能溢出,有可能数据丢失,不是装箱和拆箱的概念
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1 作为整形,不是float
1.0 作为double,也不是float。
1.0 作为double,也不是float。
追问
但是double是可以通过显示转换变成float的啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询