Ну, так как это .Net 2.0
вы не можете использовать преимущество более современного такие версии, как Linq
, я бы предложил использовать Split
, for
петли, Trim
и Convert
:
Примечание № 1: Я работаю в предположении, что числа в строке всегда будут шестыми числами.
Замечание № 2: Я возвращаю массив с зазубринами, а не многомерный массив, так как вы не можете обеспечить, чтобы все внутренние массивы в строке имели одинаковое количество элементов.
String temp = "[[0xFF008041, 0x24008086, 0x00000000, 0x00000000,0x0008383A], [0x0008, 0x0034B]]";
int[][] ConvertStringToJaggedArray(String input)
{
String[] Separator = { "],[", "], [", "] ,[" };
String[] OuterArray = input.Split(Separator, StringSplitOptions.RemoveEmptyEntries);
int[][] TargetArray = new int[OuterArray.Length][];
string HexString;
for (int i = 0; i < OuterArray.Length; i++)
{
String[] InnerArray = OuterArray[i].Split(',');
TargetArray[i] = new int[InnerArray.Length];
for (int j = 0; j < InnerArray.Length; j++)
{
HexString = InnerArray[j].Trim(" []".ToCharArray());
TargetArray[i][j] = Convert.ToInt32(HexString, 16);
}
}
return TargetArray;
}
Ну в этом случае вы только получили один "внутренний" массив - это будет всегда так, или может иногда быть '[[1, 2, 3], [4, 5, 6 ]] '? Похоже, в основном вам нужно выполнять строковые манипуляции. Сначала я разбил внешний массив на строки, которые являются внутренними массивами, затем анализируйте каждый из них отдельно. –
Этот json вы пытаетесь разобрать? Что вы пробовали? – Sayse
Похож на JSON для меня ... Возможно, использование анализатора JSON и создание 2d-массива будут работать, но трудно понять, с чем именно вы столкнулись. –