INT型のIDのフィールドを1つ返すSQLクエリがあります。Int32.TryParse()または(int?)command.ExecuteScalar()
そしてC#コードで整数として使用する必要があります。
どの方法が高速で、メモリを少なくしますか?
又は
int? id = (int?)command.ExecuteScalar();
if(id.HasValue)
{
// use id.Value
}
又は
int? id = command.ExecuteScalar() as int?;
if(id.HasValue)
{
// use id.Value
}
私はこれが古いですけど、関連ドナルドクヌース引用:「プログラマについて考える、またはそのプログラムの重要度の低い部分の速さ、気にせ膨大な時間を無駄に、そして効率でこれらの試みは、実際には強力なを持っていますデバッグとメンテナンスを考慮した場合のマイナスの影響。時間の約97%という小規模な効率性を忘れてはならない。早すぎる最適化はすべての悪の根源だが、その3%で機会を逃してはいけない。 –
ちょっと@DannyNeumann、一般的に、私は2009年からの質問以来、ここにそれを投稿することは意味がないと思います。特に、効率的なコードを書くことは依然として重要です。そして、これが私がそうすることを学んだ方法です。私は毎日、クヌスの言葉にぴったりの恐ろしい、恐ろしいコードを見ています。つまり、非クリティカルな部品の時期尚早の最適化に多くの時間を費やすべきではないが、同時に非クリティカルな部品を非効率的に書くべきではない。 – abatishchev