Я так понимаю, вышеописанное более "эффективно", чем использование класса?
Абсолютно нет. Это ужасная структура . Структуры должны быть небольшими; скажем, в четыре раза больше, чем ссылка; Ваша структура имеет размер пяти ссылок на 32-битной машине. Структуры должны представлять значения ; это, кажется, не представляет никакой ценности. Структуры должны быть неизменными ; это биток изменчивости.
В какой момент, если я продолжу добавлять строковые свойства, пора ли преобразовать структуру в класс?
Точкой преобразования этой структуры в класс был момент, когда вы ее создали. Во-первых, это никогда не должно было быть структурой. Ваше предположение по умолчанию должно быть таким, что классы достаточно хороши; переходите к структуре только тогда, когда у вас есть доказательства того, что это решает проблему, которая у вас есть на самом деле.
Я планировал передать эту структуру вокруг приложения, ориентированного на GDI. Я всегда предполагал, что структуры более производительны при работе с типами значений.
Структуры более эффективны, чем классы, в очень небольшом числе случаев: когда они малы , неизменны , представляют значения и состоит из других значений, таких как целые числа . В других случаях они менее эффективны: поскольку структуры копируются по значению, большие структуры могут использоваться гораздо медленнее, чем ссылки. Поскольку структуры копируются по значению, изменяемые структуры приводят к ошибкам, потому что вы изменяете копии, когда думаете, что изменяете переменные. Поскольку структуры копируются по значению, они должны иметь семантику значений, а не ссылок. А поскольку сборщик мусора может полностью пропускать структуры, содержащие только другие структуры, эти структуры более эффективны только для целей очистки, если в них нет ссылок.
В любом случае, вы узнаете, что что-то более эффективно, , попробуйте оба способа и сравните его производительность с вашими целями производительности . Использование науки . Установить цель и измерить ее. Использование структур «потому что я предполагаю, что они более эффективны» - это принятие технических решений на основе слухов. Измерьте , и тогда вы поймете, что более эффективно.