Linq 两个字符串搜索相同的组合
我有两个字符串,
string a="1,2,3";
string b="2,4,6,7,8"
我想在两个字符串中搜索相同的数字。在 LINQ 中执行此操作的最佳方法是什么?
I have two strings
string a="1,2,3";
string b="2,4,6,7,8"
I want to search for the same number in both the strings. What is the best way to do it in LINQ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
此示例按字符串进行比较:
This example compare it string-wise though:
如果您确实想比较数字,则分割字符串并使用诸如 可枚举。相交。
如果您想要一种更有效的方法,您应该寻找用于检索最大公共子字符串 位于两个字符串之间,就像维基百科中的那样。这样您就可以避免 Enumerable.Intersect 实现中的拆分成本和可能的低效率。如果您进行搜索,您肯定会找到更高效的 LCS 实现。
If you really want to compare the numbers, it is far easier to split the strings and use an extension method like Enumerable.Intersect.
If you want a more efficient method, you should look for implementations for retrieving the largest common substring between the two strings, like the one in Wikipedia. This way you avoid the cost of splitting and possible inefficiencies in the Enumerable.Intersect implementation. You will certainly find even more efficient implementations of LCS if you search.