Сколько типов встроенных значений существует в C # (или даже в CLR) - PullRequest
1 голос
/ 26 июля 2011

Мы все знаем 15 распространенных типов значений, существующих в C #:

sbyte, short, int, long, byte, ushort, uint, ulong, char, float, double, decimal, bool, enum, struct

Если вы подсчитываете nullable дубликат отдельно, то их будет 30.

Я помню одну из сертификационных книг MS, в которой упоминалось, что «в CLR имеется более 400 встроенных значений типов», хотя я не могу найти никаких ссылок на него в Интернете и не нашел никого, кто бы упоминал об этом.

Так что мне любопытно узнать - это все? Если нет, то как вы находите остальные и использовали ли вы их в каком-либо проекте?

Ответы [ 4 ]

3 голосов
/ 26 июля 2011

Я подозреваю, что это означает "в .NET Framework", а не "в CLR". (C # определяет относительно немного. Обратите внимание, что сами enum и struct не являются типами. Самому CLR известно о еще меньшем количестве - у него нет специальной поддержки, например, decimal.)

Ваш список не включает в себя такие вещи, как DateTime, TimeSpan, Guid, List<T>.Enumerator и т. Д. В основном вы можете загрузить группу сборок с отражением, чтобы найти больше. Я подозреваю, что руководство по сертификации действительно означало набор типов значений в фреймворке.

1 голос
/ 26 июля 2011

"существует более 400 встроенных типов значений в CLR"

Ну, любая структура является типом значения, поэтому, если это утверждение верно, я предполагаю, что оно должно означать включение каждой структуры вBCL (не CLR).

0 голосов
/ 26 июля 2011

Я думаю, что 400 встроенных типов включают структуры и перечисления.

Согласно MSDN, фактические типы - это только те, которые вы перечислили - http://msdn.microsoft.com/en-us/library/ya5y69ds.aspx

0 голосов
/ 26 июля 2011

struct является типом значения, поэтому учитывайте его.

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