日期:2014-05-18  浏览次数:20966 次

没想到在收尾的地方发生这种事
问题是这样的:
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);