C#数组子集获取

我有一个字节数组,我想确定此字节数组的内容是否在另一个较大的数组中作为连续序列存在。最简单的方法是什么?

回答:

天真的方法是:

public static bool IsSubsetOf(byte[] set, byte[] subset) {

for(int i = 0; i < set.Length && i + subset.Length <= set.Length; ++i)

if (set.Skip(i).Take(subset.Length).SequenceEqual(subset))

return true;

return false;

}

对于更有效的方法,您可以考虑使用更高级的字符串匹配算法,例如KMP。

以上是 C#数组子集获取 的全部内容, 来源链接: utcz.com/qa/427428.html

回到顶部