string[] row = textBox1.Text.Split(';');
string[][] res = new string[row.Length][];
for (int i = 0; i < row.Length; i++)
{
res = row.Split(' ');
}
int[][] resrow = new int[res.GetLength(0)][];
for (int i = 0; i < res.GetLength(0); i++)
{
resrow = new int[res.Length];
for (int j = 0; j < res.Length; j++)
{
resrow[j] = Int32.Parse(res[j]);
}
}
Массив String[][] to int [][]
есть вот такой код
String[][] res;
String[] row = textBox1.Text.Split(';');
res = new String[row.Length][];
for (int g = 0; g < row.Length; g++)
**
res = row.Split(' ');
}
а теперь нужно создать массив
int [][] resrow
который будет равен значениям массива
String[][]res
Описал как смог)))
Как мне кажется нужно замутить цикл, который будет каждому элементу присваивать тип int, но я не могу написать код((
Код:
Если в TextBox будут введены не числа (разделённые пробелами и знаком точка с запятой), то возникнет исключение в Int32.Parse. Поэтому нужно либо ввод в TextBox фильтровать, либо перехватывать исключение, либо использовать Int32.TryParse.
Лучше всего вомпользоваться Array.ConvertAll(...)
Пример:
Код:
string s = "1 2 3 4 5 6 ; 2 1 2 4 5 1 ; 21 4 4 2";
string[] StrArr = s.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
int[][] IntArr = new int[StrArr.Length][];
for (int j = 0; j < StrArr.Length; j++)
IntArr[j] = Array.ConvertAll<string, int>(StrArr[j].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries), int.Parse);
string[] StrArr = s.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
int[][] IntArr = new int[StrArr.Length][];
for (int j = 0; j < StrArr.Length; j++)
IntArr[j] = Array.ConvertAll<string, int>(StrArr[j].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries), int.Parse);
Код:
var stringMatrix = new[]
{
new[] {"0", "1", "2"},
new[] {"3", "4"},
new[] {"5"}
};
var intMatrix =
(from stringRow in stringMatrix
let row = from item in stringRow
select Convert.ToInt32(item)
select row.ToArray()).ToArray();
var intMatrix2 = stringMatrix.Select(x => x.Select(y => Convert.ToInt32(y)).ToArray()).ToArray();
{
new[] {"0", "1", "2"},
new[] {"3", "4"},
new[] {"5"}
};
var intMatrix =
(from stringRow in stringMatrix
let row = from item in stringRow
select Convert.ToInt32(item)
select row.ToArray()).ToArray();
var intMatrix2 = stringMatrix.Select(x => x.Select(y => Convert.ToInt32(y)).ToArray()).ToArray();