Что-то вроде:
var matches = states.Where(state => state.Contains(searchText));
Хорошо, если регистр также совпадает, но он не так хорошо работает для регистрозависимых совпадений. Для этого вам может понадобиться что-то вроде:
var matches = states.Where(state =>
state.IndexOf(searchText, StringComparison.OrdinalIgnoreCase) != -1);
Выберите точное сравнение строк, которое вы хотите соответствующим образом - вы можете использовать текущую культуру, например.