Linq两个字符串搜索相同的组合

时间:2011-04-04 11:59:52

标签: linq linq-to-sql string

我有两个字符串

string a="1,2,3";

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

我想在两个字符串中搜索相同的数字。在LINQ中执行此操作的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

这个例子比较了它的字符串:

var chars = 
    from n1 in a.Split(',')
    join n2 in b.Split(',') on n1 equals n2
    select n1;

答案 1 :(得分:1)

如果你真的想比较数字,分割字符串并使用像Enumerable.Intersect这样的扩展方法要容易得多。 如果你想要一个更有效的方法,你应该寻找在两个字符串之间检索largest common substring的实现,就像维基百科中的那个。这样可以避免Enumerable.Intersect实现中的拆分成本和可能的低效率。如果你搜索,你肯定会找到更有效的LCS实现。