На своём опыте встречал и структуру, и класс, но большой разницы между ними не заметил. Скажите пожалуйста, чем реально отличаются структуры от классов?
В реальности структуры действительно схожи с классами, но есть у них и немаловажные различия.
Вот список основных различий структур от классов:
1. Структура - это value тип, при передачи или или получения её из метода мы всегда оперируем с копией структуры, а не с ссылкой на "оригинал". Память хранится в стеке, а не в куче (как в классе и других ссылочных типах).
2. От структур нельзя наследоваться, а от классов - можно.
3. Из-за отсутствия наследования в структуре нельзя определить виртуальные члены.
4. Конструктор по-умолчанию возможен ТОЛЬКО неявно. Самому его писать нельзя.
5. Деструктор определить нельзя (т.к. все значения хранятся в стеке, а не в куче).
Подробнее о структурах и их разновидностях можно узнать в каталоге ITVDN на курсе C# Essential (7 урок).
Ссылка на каталог доступна здесь: Структуры на ITVDN