Если ваш короткий список строк постоянен, вы должны использовать статический массив строк только для чтения.
Преимущество заключается в том, что его легко написать, и он не создает новый список каждый раз, когда вам нужно выполнить проверку.
private static readonly string[] Names = new string[] { "A", "B", "C" };
...
if (Names.Contains(str)) {
Однако это решение не масштабируется, так как поиск выполняется линейным способом. Кроме того, вы можете определить свой постоянный массив отсортированным образом и использовать BinarySearch над массивом.
// this has to be sorted
private static readonly string[] Names = new string[] { "A", "B", "C" };
...
if (Array.BinarySearch(Names, str) >= 0) {