Использовать массив static readonly
или HashSet.
Состояние может быть представлено его полным именем или его сокращением. Хотите проверить оба? Кроме того, состояние может быть подтверждено почтовым индексом (хотя я не уверен, что вы хотите это сделать).
Возможно, у вас может быть статический однорядный массив только для чтения или хэш-набор, содержащий как полное имя, так и сокращение, например:
public static readonly string[] listOfStates = new string[]
{
"New York",
"NY",
// rest of states & abbreviations here...
};
или
public static readonly HashSet<string> listOfStates = new HashSet<string>
{
"New York",
"NY",
// rest of states & abbreviations here...
};
Оба поддерживают синтаксис Contains
:
// Queryable like this:
bool stateMatch = listOfStates.Contains(stringValue);