У меня есть две строки
string a="1,2,3"; string b="2,4,6,7,8"
Я хочу найти одно и то же число в обеих строках. Каков наилучший способ сделать это в LINQ?
Если вы действительно хотите сравнить числа, гораздо проще разделить строки и использовать метод расширения, например Enumerable.Intersect .Если вы хотите более эффективный метод, вам следует искать реализации для извлечения наибольшей общей подстроки между двумя строками, как в Википедии.Таким образом вы избежите затрат на разделение и возможных неэффективностей в реализации Enumerable.Intersect.Вы обязательно найдете еще более эффективные реализации LCS, если будете искать.
В этом примере сравниваем по строкам:
var chars = from n1 in a.Split(',') join n2 in b.Split(',') on n1 equals n2 select n1;