Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Ключевое слово sizeof
Ключевое слово sizeof
В заключение обсуждения вопросов, связанных с небезопасным контекстом в C#, рассмотрим ключевое слово sizeof. Как и в C(++), ключевое слово C# sizeof используется для того, чтобы выяснить размер в байтах типа, характеризуемого значениями (но не ссылочного типа), и это ключевое слово может использоваться только в рамках небезопасного контекста. Очевидно, что указанная возможность может оказаться полезной при взаимодействии с неуправляемыми API, созданными на базе C. Использовать ее очень просто.
unsafe {
Console.WriteLine("Длина short равна {0}.", sizeof(short));
Console.WriteLine("Длина int равна {0}.", sizeof(int));
Console.WriteLine("Длина long равна {0}.", sizeof(long));
}
Поскольку sizeof может оценить число байтов для любого элемента, производного от System.ValueType, можно получать размеры пользовательских структур. Допустим, мы определили следующую структуру.
struct MyValueType {
public short s;
public int i;
public long l;
}
Тогда ее размеры можно выяснить так.
unsafe {
Console.WriteLine("Длина short равна {0}.", sizeof(short));
Console.WriteLine("Длина int равна {0}.", sizeof(int));
Console.WriteLine("Длина long равна {0}.", sizeof(long));
Console.WriteLine("Длина MyValueType равна {0}."/ sizeof(MyValueType));
}
Исходный код. Проект UnsafeCode размещен в подкаталоге, соответствующем главе 9.
- Ключевое слово unchecked
- 8. Используйте слово «требуются»
- Часть I Слово
- Ключевое слово static
- Как избежать разрыва словосочетаний в Word?
- 13.2.4. Числовое и денежное низкоуровневое форматирование: localeconv()
- 13.2.5. Высокоуровневое числовое и денежное форматирование: strfmon() и printf()
- Заключительное слово: «4Р» в сравнении с «4С»
- Слово Джону Уэллсу
- 8. Целина, словотворчество и начало научной работы на кафедре
- Про Apple, мотоциклы и издержки словоохотливости: общение
- Вступительное слово