При использовании типа объекта сохраняет значение типа int, почему object.GetType () возвращает system.Int32? - PullRequest
0 голосов
/ 20 апреля 2020

Код, как показано ниже:

object i = 11;

Console.WriteLine(i.GetType());

Он печатает «System.Int32», почему? Я думал, что это должен быть "system.object".

1 Ответ

8 голосов
/ 20 апреля 2020

GetType() возвращает фактический тип объекта, к которому относится значение. Он не возвращает тип переменной , используемой для доступа к объекту. Итак, в качестве более простого примера:

object x = "this is a string";
Console.WriteLine(x.GetType()); // Prints System.String

В этом случае типом является «в штучной упаковке System.Int32», но в большинстве случаев. NET не различает «тип обычного значения» и «тип коробочный тип, эквивалентный типу значения ", включая GetType().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...