Все ли объекты не наследуются от ссылочного типа System.ValueType? - PullRequest
7 голосов
/ 13 декабря 2011

Правильно ли я считаю, что любой объект, который не наследуется от System.ValueType , следовательно, должен по определению быть ссылочным типом?

Мне не удалось найти какую-либо убедительную документацию для резервного копирования этого понятия.

Ответы [ 3 ]

6 голосов
/ 13 декабря 2011

Проверьте, помогает ли .

enter image description here

1 голос
/ 13 декабря 2011

Если вы внимательно прочитаете Замечания , вы увидите, что

Типы данных разделены на типы значений и ссылочные типы. Значение типы либо размещаются в стеке, либо размещаются внутри структуры. Типы ссылок выделяются в куче. Типы ссылок и значений происходит от базового базового класса Object. В тех случаях, когда это необходимо, чтобы тип значения вел себя как объект, оболочка, которая делает тип значения похожим на объект ссылки на куча, и значение типа значения копируется в него. Оболочка помечен, чтобы система знала, что он содержит тип значения. Этот процесс известен как бокс, а обратный процесс известен как распаковка. Упаковка и распаковка позволяют рассматривать любой тип как объект.

Компилятор C # делает замечательную работу, заставляя вас думать, что типы значений, такие как int long, имеют методы

0 голосов
/ 14 декабря 2011

Если бы вы были в QI, а Стивен Фрай делал то, что обычно делает впечатлительный идиот, на что похож умный человек, он бы реагировал на «любой объект, который не наследуется от System.ValueType, следовательно, должен по определению быть ссылочным типом "с клаксоном и мигающим экраном с надписью" все объекты являются типами значений или ссылочными типами ".

Затем он отметил, что изначально в информатике объект означал любую сущность, которой мог манипулировать компьютер, и поэтому включает в себя указатели, которые есть в .NET, даже если они не соответствует более позднему определению object (слово позднее , произнесенное с определенным тоном снисхождения), которое относится к объектам, инкапсулированным их методами, и поэтому вы ошибаетесь .

Алан Дэвис указал бы, что все знают, что вы имели в виду, но было бы слишком поздно, ваше заявление послужило бы только разжиганию теплого сияния самодовольства Фрая, тем более что технология, пожалуй, уступает только Оскару Уайльду в рядах о вещах, о которых ему нравится думать, о которых он может говорить разумно (и, возможно, о них нет ничего лучше, чем о тех вещах, о которых он ничего не знает, теперь я думаю об этом, он никак не может сказать вышеизложенное и не ошибиться в некоторых способ).

Другими словами, да, вы совершенно правы:)

(Извинения тем, кто не видел много британского телевидения, и поэтому не имеет ни малейшего понятия, что это значит).

...