嵌套转换问题(C#)

时间:2010-10-30 01:56:49

标签: c# casting

嘿,我正在研究一个学校项目和一系列代码,我刚刚写了一些让我开怀大笑并自言自语,“必须有一个更好的方法来做我刚刚做的事情”。所以,我的问题是,这真的是最好的方法吗?这看起来有点傻。顺便说一句,size是一个传递给这个函数的int。

 int tiles = Convert.ToInt32(Math.Sqrt(Convert.ToDouble(size)));

我知道这有效,但还有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

由于int可以隐式转换为double,因此可以省略内部转换:

int tiles = Convert.ToInt32(Math.Sqrt(size));

话虽如此,Convert.ToInt32在这种情况下是过度的。你也可以使用一个简单的演员,因为你知道它从doubleint

int tiles = (int)Math.Sqrt(size);