Использование суффикса f для числовых литераловC#

Место общения программистов C#
Anonymous
Использование суффикса f для числовых литералов

Сообщение Anonymous »

Я вижу такой код:

Код: Выделить всё

float num2 = ( ( this.X * this.X ) + ( this.Y * this.Y ) ) + ( this.Z * this.Z );
float num = 1f / ( ( float ) Math.Sqrt ( ( double ) num2 ) );
this.X *= num;
this.Y *= num;
this.Z *= num;
А имеет ли значение, если бы это было так?:

Код: Выделить всё

float num2 = ( ( this.X * this.X ) + ( this.Y * this.Y ) ) + ( this.Z * this.Z );
float num = 1 / ( ( float ) Math.Sqrt ( ( double ) num2 ) );
this.X *= num;
this.Y *= num;
this.Z *= num;
Будет ли компилятор использовать (float)/(float) или попытается использовать (double)/(float) для второго примера для строка 2?

РЕДАКТИРОВАТЬ: Кстати, будет ли какая-нибудь разница в производительности?

Подробнее здесь: https://stackoverflow.com/questions/474 ... c-literals

Вернуться в «C#»