我很好奇将 double 转换为 int 的最佳方法。运行时安全是我在这里的主要关注点(它不一定是最快的方法,但这将是我的次要关注点)。我留下了一些我可以在下面提出的选项。任何人都可以权衡哪个是最佳实践吗?我没有列出任何更好的方法来实现这一点?
double foo = 1;
int bar;
// Option 1
bool parsed = Int32.TryParse(foo.ToString(), out bar);
if (parsed)
{
//...
}
// Option 2
bar = Convert.ToInt32(foo);
// Option 3
if (foo < Int32.MaxValue && foo > Int32.MinValue) { bar = (Int32)foo; }