Это обсуждение двух миров: языка и памяти.
Для меня язык подобен слою абстракции, и термин объект относится к этому уровню абстракции. Я не вижу смысла говорить об объектах с точки зрения организации памяти, и если вы действительно используете термин «объект», когда говорите о памяти, вы фактически заимствуете этот термин из другого уровня абстракции. Таким образом, вы не должны забывать, откуда это.
Если мы говорим о C #, я не понимаю, почему кто-то использовал организацию памяти в качестве аргумента. Конечно, если бы я ответил на этот вопрос кому-то, я бы сказал: «Да, в C # все является объектом, но вы также должны знать, что под капотом он может работать по-разному в зависимости от…»
Это может послужить интересным аргументом, но может также поговорить с некоторыми:
в подобном обсуждении можно сказать, что на самом деле нет объектно-ориентированного программирования, есть только процедурное программирование. ЦП понимает объекты?
Более того, на самом деле нет программного обеспечения, есть только разные аппаратные состояния:)
Моя точка зрения заключается в том, что некоторые термины не переводятся на другие уровни абстракции, и вам следует придерживаться обсуждения, где оно принадлежит (в данном случае это язык, а не память).
Даже автор этого вопроса заявил:
«Обратите внимание, что этот вопрос относится к C # не обязательно .NET и как он обрабатывает данные под капотом (очевидно, это все 1 и 0.)»