如何将盒装的二维字符串转换为二维整数数组,反之亦然#c#

时间:2015-05-21 06:02:49

标签: c# .net-2.0

我有一个具有二维数组的String我需要将这些二维字符串转换为整数数组。  例如:

String temp ="[[0xFF008041, 0x24008086, 0x00000000, 0x00000000,0x0008383A]]".

我需要2D字符串值到2d整数数组,反之亦然

2 个答案:

答案 0 :(得分:1)

试试这个

      static void Main(string[] args)
        {
            String temp = "[[0xFF008041, 0x24008086, 0x00000000, 0x00000000,0x0008383A]]";
            temp = temp.Replace("[", "");
            temp = temp.Replace("]", "");
            string[] tempArray = temp.Split(new char[] {','}, StringSplitOptions.RemoveEmptyEntries);
            uint[] tempIntArray = tempArray.Select(x => FromHex(x)).ToArray();
        }
        static uint FromHex(string value)
        {
            uint results;
            uint.TryParse(value.Substring(2), NumberStyles.HexNumber, CultureInfo.CurrentCulture, out results);
            return results;
        }​

答案 1 :(得分:1)

好吧,因为它是.Net 2.0你不能使用Linq等更现代版本的好处,我建议使用Splitfor循环,{{ 1}}和Trim

注意#1:我的工作是假设字符串中的数字始终是十六进制数。

注意#2:我正在返回一个锯齿状数组而不是多维数组,因为你不能强制字符串中的所有内部数组具有相同数量的元素。

Convert