int tiles = Convert.ToInt32(Math.Sqrt(Convert.ToDouble(size)));
我知道这有效,但还有更好的方法吗?
答案 0 :(得分:4)
由于int
可以隐式转换为double,因此可以省略内部转换:
int tiles = Convert.ToInt32(Math.Sqrt(size));
话虽如此,Convert.ToInt32
在这种情况下是过度的。你也可以使用一个简单的演员,因为你知道它从double
到int
:
int tiles = (int)Math.Sqrt(size);