Как запрос в LINQ to Object - PullRequest
       14

Как запрос в LINQ to Object

2 голосов
/ 30 апреля 2010

у меня есть список штатов США

List<string> state // contain all 51 US states

Теперь у меня есть строка, которая содержит текст вроде okl (для меня это означает Оклахома). что я хочу, я хочу «как» запрос в состоянии списка и получить состояние штата Оклахома.

Ответы [ 3 ]

4 голосов
/ 30 апреля 2010

Что-то вроде:

var matches = states.Where(state => state.Contains(searchText));

Хорошо, если регистр также совпадает, но он не так хорошо работает для регистрозависимых совпадений. Для этого вам может понадобиться что-то вроде:

var matches = states.Where(state => 
      state.IndexOf(searchText, StringComparison.OrdinalIgnoreCase) != -1);

Выберите точное сравнение строк, которое вы хотите соответствующим образом - вы можете использовать текущую культуру, например.

1 голос
/ 30 апреля 2010

Также проверьте

  StartsWith
   EndsWith

другой альтернативный

 var query = from c in ctx.Customers
                where SqlMethods.Like(c.City, "L_n%")
                select c;
0 голосов
/ 30 апреля 2010

Если вы хотите действительно сложное приблизительное совпадение, проверьте расстояние Левенштейна в http://code.google.com/p/google-diff-match-patch/

...