Линк две строки в поисках одной комбинации - PullRequest
0 голосов
/ 04 апреля 2011

У меня есть две строки

string a="1,2,3";

string b="2,4,6,7,8"

Я хочу найти одно и то же число в обеих строках. Каков наилучший способ сделать это в LINQ?

Ответы [ 2 ]

1 голос
/ 04 апреля 2011

Если вы действительно хотите сравнить числа, гораздо проще разделить строки и использовать метод расширения, например Enumerable.Intersect .Если вы хотите более эффективный метод, вам следует искать реализации для извлечения наибольшей общей подстроки между двумя строками, как в Википедии.Таким образом вы избежите затрат на разделение и возможных неэффективностей в реализации Enumerable.Intersect.Вы обязательно найдете еще более эффективные реализации LCS, если будете искать.

1 голос
/ 04 апреля 2011

В этом примере сравниваем по строкам:

var chars = 
    from n1 in a.Split(',')
    join n2 in b.Split(',') on n1 equals n2
    select n1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...