| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 582 人关注过本帖
标题:[求助]显式转换问题
取消只看楼主 加入收藏
hl0071
Rank: 1
等 级:新手上路
帖 子:125
专家分:0
注 册:2005-11-11
收藏
 问题点数:0 回复次数:1 
[求助]显式转换问题

各位大侠们,我是一个新手,前几天做了一个代码:

using System;
using System.Windows.Forms;
public class test
{
static void Main()
{
float a=2.8f;
long x=4249967295;
long b=2294677295;
int c=200000000;
int y=100;
int z=100;
int y=(int )x;
int z=z(int ) (b+c);
MessageBox.show(string.format("x={0} y={1}\nz={2} b={3} c={4}",x, y, b, c, z));
}
}
这样不行,提示说y 和 z 已经在局部变量中声明,不能进行显式转换,而把代码改成这样却又行了:

using System;
using System.Window.Forms;
public class test
{
static void Main()
{
float a=2.8f;
long x=4249967295;
long b=2294677295;
int c=200000000;
int y=100;
int z=100;
try
{
checekd
{
y=(int )x;
z=z(int ) (b+c);
}
}
catch (Exception m)
{
MessageBox.show(m.Message);
}
MessageBox.show(string.format("x={0} y={1}\nz={2} b={3} c={4}",x, y, b, c, z));
}
}
改成这样就行了,问一下显式转换时(泛蓝)前面写不写所转换的数据类型有什么区别,比如上面的:int y=(int )x;
int z=z(int ) (b+c); 和
y=(int )x;
z=z(int ) (b+c);

搜索更多相关主题的帖子: class long public color 
2006-03-16 11:17
hl0071
Rank: 1
等 级:新手上路
帖 子:125
专家分:0
注 册:2005-11-11
收藏
得分:0 

那它们有什么区别呢,是这样的,这两个代码都是书上的,书上说先试一下第一个代码,然后把代码改成第二种,再试一下,但改完后能运行,不改就会出现局部变量已经声明的错误提示,书上总不会有错吧。


一切都是快乐的
2006-03-16 21:25
快速回复:[求助]显式转换问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015166 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved