我有 2 个字节数组:
Dim A() As Byte = {1, 2, 3, 4, 5, 6, 7, 8, 9}
Dim B() As Byte = {5, 6, 7}
现在我想找到完整的B 在A 中的出现。我试过 Array.IndexOf(A, B) 没有运气。有没有一种无需使用任何循环即可按数组搜索数组的简单方法?
它应该按照与 B() 中相同的顺序找到 5,6,7 的索引(位置)。 如果 A() 包含 {1,2,3,4,7,6,5,9} 它应该返回 false 或 -1,因为它们的顺序不同。
最佳答案
下面的 Linq 语句将给出 IEnumerable<int>
包含 b 在 a 中的位置(如果没有出现则为空集):
Enumerable
.Range( 0, 1 + a.Length - b.Length )
.Where( i => a.Skip(i).Take(b.Length).SequenceEqual(b) );
我不知道如何转换为 VB.NET。
关于c# - 如何用数组搜索数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7345159/