В более родном / более близком к металлическому языку стиля C-Style такая проверка могла бы сработать. Если вы выбрали правильные значения ASCII / Unicode, то есть.
Как правило, сравнение строк является финишным, и боль в спине. Проблемы начинаются с обсадной колонны, проходят через пробелы и заканчиваются нормализацией. Что касается обработки в любой форме, то единственный тип хуже , чем строка, о которой я могу думать, это необработанный двоичный файл. Я избегаю этого. Даже если бы я был тем, кто написал это в пользовательском интерфейсе, я предпочел бы получать входные данные другим способом / другим форматом. Это просто зло при работе с пользователем или службой XML / Rest / аналогичной.
Я бы организовал пару букв / цифр в структуру, класс или tupel, называемую PackageSize
. Создайте массив списка PackageSize
. Затем предоставьте пользовательскому интерфейсу ComboBox с отключенным ручным вводом. Заполните CB из массива, каждая запись, используя букву для отображения и ArrayIndex в качестве значения. И тогда заботятся только о выбранном значении, а не о том, что отображается для дальнейшей обработки. ComboBoxes может дать вам хорошее и надежное целое число, которое можно использовать для поиска значений в коллекции, из которой оно было построено.
Переключатель / регистр, выполняющий сопоставление строк, может сработать и, вероятно, сейчас проще идостаточно надежно, если вы придерживаетесь английских букв. Но я избегаю давать пользователю возможность вводить то, что я не могу обработать. И после того, как вы создали соответствующий интерфейс ввода / вывода, массивы значений легче расширять в долгосрочной перспективе.