Отличаются ли примитивные типы в Java и C #?

Я вручную конвертирую код из Java в C # и борюсь с (что я называю) примитивными типами (см., Например,Автобокс и распаковка ведут себя по-разному в Java и C #). Из ответов я понимаю, чтоdouble (C #) иDouble (C #) эквивалентны иdouble (C #) также можно использовать в контейнерах, например, в качестве ключа в словаре. Тем не мение,double (Java) нельзя использовать в контейнерах, таких как HashMap, поэтому он автоматически упакован вDouble (Джава).

Являетсяdouble (C #) примитив или объект?Если оно'Примитив, что делает его вести себя иначе, чемdouble (Джава)?

double (C #) не может быть установлен в ноль, если это не сделано.nullable

Являетсяdouble? (C #) эквивалентноDouble (Джава)? Они оба упоминаются как объекты?

(Является ли использование термина "первоклассный объект " полезно в этой дискуссии?)

Ответы на вопрос(3)

Ваш ответ на вопрос