Я вручную конвертирую код из Java в С# и борюсь с примитивными типами (то, что я называю) (см., например, Выполняют ли autoboxing и unboxing по-разному в Java и С#). Из ответов я понимаю, что double
(С#) и double
(С#) эквивалентны, а double
(С#) также может использоваться в контейнерах, например. как ключ в словаре. Тем не менее, double
(Java) не может использоваться в контейнерах, таких как HashMap, поэтому он автоматически помещается в поле double
(Java).
- Является ли
double
(С#) примитивным или объектом? - Если это примитив, что заставляет его вести себя иначе, чем
double
(Java)?
double
(С#) не может быть установлено в значение null, если только оно не сделано nullable
.
- Является ли
double?
(С#) эквивалентнымdouble
(Java)? Они оба называются объектами?
(Используется ли термин "первоклассный объект" в этом обсуждении?)