Я бы предпочел класс, в этом случае.
Структуры следует использовать, когда выполняются все следующие условия:
- Действуй как примитивные типы
- Размер экземпляра не должен превышать 16 байт.
- Неизменны
- Семантика значений желательна.
В вашем случае, ни одно из вышеперечисленного не является действительно верным, поскольку вы создаете (возможно, изменяемую) большую группу свойств.
Вы хотели бы использовать структуру для чего-то, что было бы единственным неизменным (то есть: неизменяемым) значением, по крайней мере, в логическом смысле. Комплексное число или вектор и т. Д. - это типы сценариев, в которых структуры являются хорошими кандидатами.
Кроме того, как правило, каждый раз, когда вы собираетесь включить ссылочный тип (например, строку) внутри вашего объекта, вам нужно, чтобы ваш объект был классом. Это хороший признак того, что вам не нужна структура.
Подробнее см. На странице рекомендаций по проектированию для " Выбор между классами и структурами ".