没想到在收尾的地方发生这种事
问题是这样的:
tempArray = "68 02 31 A1 11 00 00 68 91 07 35 34 33 37 48 33 43 D1 16 ";
foreach (string ss in tempArray)
{
if (ss.StartsWith("68") && ss.EndsWith("16"))//判断68开始16结束的字符串
{
string[] arr = ss.Split(' ');//下面是进行的帧是否正确的判断操作没问题。
int x;
int[] a = new int[arr.Length];
for (int d = 0; d < arr.Length; d++)
{
a[d] = Convert.ToInt32(arr[d]);//出错!
}
到这里出错了,tempArray中的数其实都是16进制的数,但是这样的写法机器只能读成10进制的,在这句的时候:
for (int d = 0; d < arr.Length; d++)
{
a[d] = Convert.ToInt32(arr[d]);//出错!
}
当读到A1的时候肯定就报错了!我就是想把arr[d]中的的数赋给a[d],在进行下面的操作,请问这个问题怎么解决啊!
------解决方案--------------------
Convert.ToInt32(arr[d],16);