В чем разница двух строчек кода с объявлением переменной?

Объясните в чем разница вот этих двух строчек:

  1. public float Speed = 10f;
  2. public float Speed = 10;

Ответы (1 шт):

Автор решения: Andrew_STOP_RU_AGRESSION_IN_UA

С комментариями о "явном" и "неявном" не согласен ибо тип задается и это уже само по себе "явно".

Рассмотрим:

public float Speed = 10f; // float /тип указан явно 2 раза
public float Speed = 10;  // float /тип указан явно

В обьявлении глобальных разницы никакой.

А вот в локальных переменных ситуация интереснее:

var speed = 10;     // int
var speed = 10.0;   // double
var speed = 10f;    // float /тип указан явно что бы получить float
var speed = 10.0f;  // float /тип указан явно что бы получить float

float speed = 10; // float /тип указан явно
float speed = 10f;// float /тип указан явно 2 раза

f писать желательно. Но имхо - не обязательно если уж тип задается явно при обьявлении переменной. При использовании var - f писать обязательно потому что получишь не тот тип который тебе необходим.

Так же стоит заметить что в разных компаниях свой кодстайл и если по кодстайлу ты должен обязательно писать f даже указывая тип данных при обьявлении переменных - так делать будет нужно просто что бы не отклонятся от кодстайла.

почему можно предположить что всегда нужно использовать f? Да чисто что бы меньше задумываться. Но лично я не считаю плохой практикой не использование f.

→ Ссылка