当前位置: 代码迷 >> C# >> 小弟我的字符串数组里存的是十六进制数,如何转换成十进制数,并且存在int数组里
  详细解决方案

小弟我的字符串数组里存的是十六进制数,如何转换成十进制数,并且存在int数组里

热度:121   发布时间:2016-05-05 05:15:32.0
我的字符串数组里存的是十六进制数,怎么转换成十进制数,并且存在int数组里
例如string[ ]  strArr=[52,4E,54,52,4D,53,52,4D,53,52,4E,54]
转换成int[ ]  intArr=[82,78,84,82,...]
我自己写了一个 intArr[i] = Convert.ToInt32("strArr[i]",16);但是有错误,实在不知道该怎么办了?谢谢各位大神
------解决思路----------------------
你这个是什么数组啊
int[] intArr= new int[] { 0x52, 0x4E, 0x54, 0x52, 0x4D, 0x53, 0x52, 0x4D, 0x53, 0x52, 0x4E, 0x54 };

 string a = "52,4E,54,52,4D,53,52,4D,53,52,4E,54";
int[] intArr = a.Split(',').Select(p => Convert.ToInt32(p, 16)).ToArray();
------解决思路----------------------
string[] hexArr= new string[] { "0x52", "0x4E"," 0x54", "0x52", "0x4D", "0x53", "0x52", "0x4D", "0x53", "0x52"," 0x4E", "0x54 "};
int[] deArr=new int[12];
int i=0;
foreach(string item in hexArr)
{
deArr[i]=Convert.ToInt32(item, 16);
i++;
}

------解决思路----------------------
这样写

public static IEnumerable<int> MyToInt() 
        {
            string[ ] strArr=new string[]{"52","4E","54","52","4D","53","52","4D","53","52","4E","54"};

            foreach (var str in strArr) 
            {
                yield return Convert.ToInt32(str, 16);
            }
        }


string result = "";

            foreach (var i in Comm.MyToInt()) 
            {
                result += i+"
------解决思路----------------------
";
            }

            MessageBox.Show(result);

结果:

------解决思路----------------------
"strArr[i]",这个是什么?
strArr=[52,4E,54,52,4D,53,52,4D,53,52,4E,54],这个又是什么?
不该加引号的地方加引号,该加引号的地方不加。。。
  相关解决方案