int(x)和(int)x有什么区别

例如int(3.2)与(int)3.2,最后得到的结果是什么???
写出下面算术表达式的值设a=10 b=5.5 c=3
int(a/c) + a/4 + b*c;
(a % c) - int(a % b) - (int)a % b;
这个题目哪个可以给我答案啊>?????

如果你指的是C#中的表达式的话,那么前者 int(3.2) 的编译时会报错
class MyClass
{
public static void Main()
{
int i = 3 + int(2.1);
System.Console.WriteLine(i.ToString());
}
}
把上面代码换成 (int)2.1 即可通过
这是因为按照形式,int(...)可以是个函数,但显然不允许有int这种函数。
就算把int当成Int16/Int32结构,由于没有Int(double)这样的构造函数,编译器的构造也会失败。

而(int)2.1是C#和.NET约定的显式转换格式,所以能通过编译。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-11
(int)3.2是强制类型转换,但是int(3.2)是错误的。在VB里面有这样的一个函数,如果引用了VB的命名空间 Microsoft.VisualBasic 的话会有 Int这个函数,是取整的意思,和 (int) 没有区别。
第2个回答  2008-08-11
都是强制转换没有什么区别
你说的那个题结果是3