c# - C# 是否提供了一种在可枚举集合中搜索子列表的方法?

标签 c# .net

<分区>

使用字符串,您可以很容易地在字符串中搜索子字符串。但是,对于更一般的集合,特别是有序数据,.Net 是否提供了类似的东西?

例如搜索 [1,2,3,4,5,6,7,8,9] 第一次出现 [4,5,6] 会找到匹配但 [6,5,4] 找不到?也许作为 ArrayIEnumerable 的成员?这是一件很容易滚动的事情,但它似乎可能存在于某个地方?

最佳答案

假设您有以下建议的数组:

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 };

然后您可以通过组合 IntersectSequenceEqual 方法以给定顺序搜索特定模式:

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# - 为字典中的每个键添加值

c# - 从 ListView 中获取子项

c# - 客户端不刷新新对象的ID | ASP.NET 核心 5

c# - 使用 Visual Basic.NET (VB.NET) 开发的 ASP.NET Core 应用程序可能吗? VS中没有模板