Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
How to: Identify a Nullable TypeСодержание книги
Поиск на нашем сайте
You can use the C# typeof operator to create a Type object that represents a Nullable type:
You can also use the classes and methods of the System.Reflection namespace to generate Type objects that represent Nullable types. However, if you try to obtain type information from Nullable variables at runtime by using the GetType method or the is operator, the result is a Type object that represents the underlying type, not the Nullable type itself. Calling GetType on a Nullable type causes a boxing operation to be performed when the type is implicitly converted to Object. Therefore GetType always returns a Type object that represents the underlying type, not the Nullable type.
The C# is operator also operates on a Nullable's underlying type. Therefore you cannot use is to determine whether a variable is a Nullable type. The following example shows that the is operator treats a Nullable<int> variable as an int.
Example Use the following code to determine whether a Type object represents a Nullable type. Remember that this code always returns false if the Type object was returned from a call to GetType, as explained earlier in this topic.
Идентификация обнуляемого типа Оператор C# typeof может использоваться для создания объекта Type, представляющего обнуляемый тип:
Также можно использовать классы и методы пространства имен System.Reflection для создания объектов Type, представляющих обнуляемые типы. Однако при попытке получить информацию о типе от обнуляемых переменных во время выполнения, используя метод GetType или оператор is, результатом является объект Type, представляющий базовый тип, а не сам обнуляемый тип. Вызов GetType для обнуляемого типа приводит к выполнению операции упаковки-преобразования в момент неявного преобразования типа в Object. Таким образом, GetType всегда возвращает объект Type, представляющий базовый тип, а не обнуляемый тип. ß---- Оператор C# is также работает с базовым типом для обнуляемого типа. Поэтому нельзя использовать is для определения, является ли тип переменной обнуляемым. В следующем примере показано, что оператор is рассматривает обнуляемую переменную<int> просто как "int".
ß--- Пример Чтобы определить, представляет ли объект Type обнуляемый тип, используйте следующий код. Помните, что код всегда возвращает значение "false", если объект Type был возвращен из вызова GetType, как описано ранее в этом разделе.
Unsafe Code and Pointers To maintain type safety and security, C# does not support pointer arithmetic, by default. However, by using the unsafe keyword, you can define an unsafe context in which pointers can be used.
Unsafe Code Overview Unsafe code has the following properties: · Methods, types, and code blocks can be defined as unsafe. · In some cases, unsafe code may increase an application's performance by removing array bounds checks. · Unsafe code is required when you call native functions that require pointers. · Using unsafe code introduces security and stability risks. · In order for C# to compile unsafe code, the application must be compiled with /unsafe.
|
||||||||||||
Последнее изменение этой страницы: 2017-01-19; просмотров: 159; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.185.207 (0.006 с.) |