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; }