Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# Windows Forms

Войти
Регистрация
Восстановить пароль
 
Cnoob
1 / 1 / 0
Регистрация: 10.01.2015
Сообщений: 46
#1

Заполнение массива данными из textbox - C#

23.12.2015, 00:01. Просмотров 737. Ответов 5
Метки нет (Все метки)

Привет всем.
Задача такая: есть textbox(multiline), в который пользователь вводит двумерный массив(элементы через пробел, новая строка через '\n'). Нужно эти элементы занести в двумерный массив в таком виде, в котором пользователь их ввел в textbox чтобы потом можно было работать с элементами этого массива. С массивом будут проводиться различные манипуляции после чего его нужно будет вывести.
Пробовал решить задачу используя List, сначала весь массив из textbox перевожу в строку при помощи Split, после чего каждый элемент Split добавляю в List - выводит нормально все, но только если массив одномерный, если в textbox вводится 2+ строки (то есть присутствует переход на новую строку) тогда FormatException, понимаю, что проблема скорее всего в символе новой строки. Как быть?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2015, 00:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Заполнение массива данными из textbox (C#):

Заполнение datagridview данными из textbox - C#
Доброго времени суток! У меня есть datagridview(данные в ней из БД SQL), а так же 2 textbox'а Проблема заключается в том что не как не...

Заполнение TextBox-а данными только при первом нажатии кнопки - C#
мне надо чтобы я нажал на кнопку и textBox5 заполнился только один раз, в случае если нажимаю второй или третий раз ничего не происходит то...

Заполнение textBox из массива - C#
Добрый день. Подскажите как заполнить в цикле? textBox92.Text = Convert.ToString(Vok); textBox93.Text = Convert.ToString(Vok); ...

Заполнение массива из TextBox - C#
Почему при считывании массива из textbox , пишет необрабатываемое исключение ? в текстбоксе находятся только целые числа.

Заполнение одномерного массива из textbox - C#
Подскажите пожалуйста! необходимо ввести поочередно ФИО рабочих в textbox, чтобы после каждого ввода заполнялся массив. проблема в том...

Заполнение массива значениями из textbox - C#
Доброго времени суток. Появился такой вопрос. У меня на форме есть 16 текстбоксов с названиями TA0, TA1, TA2 и т.д. Так же я создал...

5
Даценд
Модератор
Эксперт .NET
4039 / 3878 / 1953
Регистрация: 20.04.2015
Сообщений: 7,042
23.12.2015, 00:32 #2
как вариант:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static int[,] getArray(string text)
{
    string[] lines = text.Split('\n');
    int[,] array = new int[lines.Length, lines[0].Split(' ').Count()];
    for (int i = 0; i < lines.Length; i++)
    {
        string[] numbersInLine = lines[i].Split(' ');
        for (int j = 0; j < numbersInLine.Length; j++)
        {
            array[i, j] = int.Parse(numbersInLine[j]);
        }
    }
    return array;
}
вызов:
C#
1
int[,] arr = getArray(textBox1.Text);
Конечно еще нужно добавить разные проверки.
0
Cnoob
1 / 1 / 0
Регистрация: 10.01.2015
Сообщений: 46
23.12.2015, 09:35  [ТС] #3
попробовал, но что-то не получается. Вставил ваш метод, вызвал в нужной функции таким образом как вы указали, при этом передал нужный textbox. Пытаюсь вывести и получаю: An unhandled exception of type 'System.IndexOutOfRangeException' occurred
0
Nooz
31 / 31 / 10
Регистрация: 22.10.2015
Сообщений: 100
23.12.2015, 11:02 #4
Думаю проблема уже в вашем коде вывода результата... Как вы выводите результат?
0
Даценд
Модератор
Эксперт .NET
4039 / 3878 / 1953
Регистрация: 20.04.2015
Сообщений: 7,042
23.12.2015, 11:13 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Попробуйте так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static int[,] getArray(string text)
{
    string[] lines = text.Split(new char[] {'\n'}, StringSplitOptions.RemoveEmptyEntries);
    int[,] array = new int[lines.Length, lines[0].Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries).Count()];
    for (int i = 0; i < lines.Length; i++)
    {
        string[] numbersInLine = lines[i].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
        for (int j = 0; j < numbersInLine.Length; j++)
        {
            array[i, j] = int.Parse(numbersInLine[j]);
        }
    }
    return array;
}
Это уберет пустые строки. Если не получится, покажите свой код.
1
Cnoob
1 / 1 / 0
Регистрация: 10.01.2015
Сообщений: 46
23.12.2015, 13:01  [ТС] #6
Помогло, спасибо)
Можно закрывать
0
23.12.2015, 13:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2015, 13:01
Привет! Вот еще темы с ответами:

Запись из textBox в массив, заполнение RichTexBox из этого массива и дальнейшее использование - C#
в файле Program.cs есть массивы double YN = {0.25, 0.22, 0.2, 0.16, 0.1, 0.06, 0.01, 0.22, 0.3}; double XN = {7, 17, 22, 28, 38,...

Заполнение combobox данными из БД mysql - C#
Здравствуйте товарищи программисты! У меня возник такой вопрос. Ломал долго голову, лазим через дебаггер в свойства объекта но ничего не...

Заполнение TreeView данными из файла - C#
Добрый день. Помогите решить проблему. Допустим имеется текстовый файл вида: Фрукты: Бананы Яблоки Апельсины Смысл, думаю, ясен. ...

заполнение коллекции данными из базы - C#
Подскажите как лучше сделать, Есть набор данных DataSet1, в нем содержится одна таблица table1, в которой 3 поля: id, x, y Необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru