<分区>
使用字符串,您可以很容易地在字符串中搜索子字符串。但是,对于更一般的集合,特别是有序数据,.Net 是否提供了类似的东西?
例如搜索 [1,2,3,4,5,6,7,8,9]
第一次出现 [4,5,6]
会找到匹配但 [6,5,4]
找不到?也许作为 Array
或 IEnumerable
的成员?这是一件很容易滚动的事情,但它似乎可能存在于某个地方?
<分区>
使用字符串,您可以很容易地在字符串中搜索子字符串。但是,对于更一般的集合,特别是有序数据,.Net 是否提供了类似的东西?
例如搜索 [1,2,3,4,5,6,7,8,9]
第一次出现 [4,5,6]
会找到匹配但 [6,5,4]
找不到?也许作为 Array
或 IEnumerable
的成员?这是一件很容易滚动的事情,但它似乎可能存在于某个地方?
最佳答案
假设您有以下建议的数组:
var target = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
var testA = new int[] { 4, 5, 6 };
var testB = new int[] { 6, 5, 4 };
然后您可以通过组合 Intersect
和 SequenceEqual
方法以给定顺序搜索特定模式:
Console.WriteLine(target.Intersect(testA).SequenceEqual(testA)); //true
Console.WriteLine(target.Intersect(testB).SequenceEqual(testB)); //false
关于c# - C# 是否提供了一种在可枚举集合中搜索子列表的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61207174/
相关文章:
c# - 如何使用 ServiceThrottling 调整 WCF 服务以获得更好的性能
.net - 你如何让 Inno Setup 在执行长执行时看起来不卡住?
.net - 我可以在 VS2008 中使用 .NET Framework 4.0 吗?
.net - .NET 4.0和4.5中损坏的PLINQ ForAll
c# - 适用于 .net 的 Foursquare SDK
c# - BigQuery : How to enable standard SQL in C#
c# - 客户端不刷新新对象的ID | ASP.NET 核心 5
c# - 使用 Visual Basic.NET (VB.NET) 开发的 ASP.NET Core 应用程序可能吗? VS中没有模板