首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么判断一个Byte数组中是否存在某些连续的数据

2011-12-21 
如何判断一个Byte数组中是否存在某些连续的数据例如我要判断如下的数组中是否存在0X68, 0X73, 0X5f, 0X62,

如何判断一个Byte数组中是否存在某些连续的数据
例如我要判断如下的数组中是否存在0X68, 0X73, 0X5f, 0X62, 0X61, 0X79这些数据,如果存在,则把第一个元素的下标找出来

C# code
byte[] mBTCmdDataBase = {      0X00, 0X00, 0X00, 0X03, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X04, 0X00, 0X00, 0X00, 0X03, 0X00, 0X00, 0X00, 0X04, 0X00, 0X00, 0X00, 0X04, 0X00, 0X00, 0X00, 0X08, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X08, 0X00, 0X00, 0X00, 0X06, 0X00, 0X00, 0X00, 0X06, 0X68, 0X73, 0X5f, 0X62, 0X61, 0X79, 0X00, 0X00, 0X00, 0X00, 0X00, 0X07, 0X00, 0X00, 0X00, 0X20, 0X00, 0X00, 0X00, 0X03, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X01, 0X00, 0X00, 0X00, 0X08, 0X00, 0X00, 0X00, 0X08, 0X00, 0X00, 0X00, 0X08         };



[解决办法]
C# code
using System;class Program{  static void Main()  {    byte[] mBTCmdDataBase =    {       0X00, 0X00, 0X00, 0X03, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00,       0X04, 0X00, 0X00, 0X00, 0X03, 0X00, 0X00, 0X00, 0X04, 0X00, 0X00,       0X00, 0X04, 0X00, 0X00, 0X00, 0X08, 0X00, 0X00, 0X00, 0X00, 0X00,       0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X08, 0X00, 0X00, 0X00, 0X06,       0X00, 0X00, 0X00, 0X06, 0X68, 0X73, 0X5f, 0X62, 0X61, 0X79, 0X00,       0X00, 0X00, 0X00, 0X00, 0X07, 0X00, 0X00, 0X00, 0X20, 0X00, 0X00,       0X00, 0X03, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X01, 0X00,       0X00, 0X00, 0X08, 0X00, 0X00, 0X00, 0X08, 0X00, 0X00, 0X00, 0X08    };    byte[] pattern = { 0X68, 0X73, 0X5f, 0X62, 0X61, 0X79 };        string s1 = BitConverter.ToString(mBTCmdDataBase);    string s2 = BitConverter.ToString(pattern);    int index = s1.IndexOf(s2);    if (index >= 0)    {      Console.WriteLine("在{0}处找到(索引为0起始)!", index/3);    }    else    {      Console.WriteLine("没找到!");    }  }} 

热点排行