假设我有一个大的byte[]
,我不仅要查看是否,还要查看byte[]
较大的数组中较小的位置。例如:
byte[] large = new byte[100];
for (byte i = 0; i < 100; i++) {
large[i] = i;
}
byte[] small = new byte[] { 23, 24, 25 };
int loc = large.IndexOf(small); // this is what I want to write
我想我问的是在更大的序列中寻找任何类型(原始或其他)的序列。
我隐约记得在字符串中阅读过有关此方法的特定方法,但我不记得算法的名称。我可以很容易地写出一些方法来做到这一点,但我知道有一个很好的解决方案,而且它就在我的舌尖上。如果有一些 .Net 方法可以做到这一点,我也会采用(尽管为了教育起见,我仍然很欣赏搜索算法的名称)。