.NET глазами дельфийца. C# Страница 16. Структуры
|
Страница 16 из 19 СтруктурыСтруктуры в C# аналогичны записям в Delphi в том смысле, что являютсяданными, передаваемыми по значению, а не по ссылке. На самом деле семантика структур в C# ближе к классам, за исключением двухосновных ограничений: - структуры не могут быть абстрактными или содержать абстрактные методы;
- наследование от структур не поддерживается, в связи с чем методы структур не могут быть виртуальными.
Пример структуры: struct Point { public int x, y; public Point(int x, int y) { this.x = x; this.y = y; } }
Использование структур может как повыситьпроизводительность программы (например, при размещении большого количествамелких объектов лучше использовать структуры), так и ухудшить ее (еслииспользуется структура, содержащая большие объемы данных, то при передаче ее вкачестве параметра будет выполняться лишнее копирование). Существует эмпирическое правило: если объем данных меньше16 байт, то для их хранения лучше использовать структуру, если больше -класс. |