Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Массив String[][] to int [][]

51K
10 декабря 2009 года
ShooterGod
8 / / 10.12.2009
Вопрос состоит в том, что я не могу понять как строковый массив переделать в численный массив???
есть вот такой код

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, но я не могу написать код((
297
10 декабря 2009 года
koodeer
1.2K / / 02.05.2009
Код:
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]);
    }
}

Если в TextBox будут введены не числа (разделённые пробелами и знаком точка с запятой), то возникнет исключение в Int32.Parse. Поэтому нужно либо ввод в TextBox фильтровать, либо перехватывать исключение, либо использовать Int32.TryParse.
842
12 декабря 2009 года
sigmov
301 / / 16.09.2008
Код изначально излишний.
Лучше всего вомпользоваться 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);
59K
11 марта 2010 года
teh.skif
2 / / 11.03.2010
Код:
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();
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог