web-dev-qa-db-ja.com

キャストまたはConvert.ToSingle()によってdoubleをfloatに変換しますか?

C#では、キャスト(float)またはConvert.ToSingle()によってdoubleをfloatに変換できます。

double x = 3.141592653589793238463;
float a = (float)x;
float b = Convert.ToSingle(x);

abは等しくなります。

両方の手法に違いはありますか?どちらを好むのか、なぜですか?

34
Seb

。NET参照ソース から:

public static float ToSingle(double value)
{
     return (float)value;
}

だから、あなたの答えは、それらがフードの下でまったく同じであるということです。

2つの間の好みは、厳密に個人的なスタイルの選択です。個人的には、キャストは短く、私にとってはより慣用的に見えるので、常にキャストを使用します。

57