Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2014, 12:34   #1
Gnaqeaz
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 12
По умолчанию Заполнение listbox значениями из массива. Заполнение массива.

Помогите не получается выводить. Уже все облазил.

Если выводить как:
Код:
for (int i =0; i<mas.Length;i++)             
            listBox1.Items.Add(mas.ToString());
получается что в listBox1 появляются item по кол-ву равным ко-ву переменных в массиве, но не отображается текст а пишет "System.string[]"
(как прицеплять картинки не знаю )
Код:
{
    public partial class Form1 : Form
    {
        int n = 0, i = 0;        
        string[] mas;
        public Form1()
        {
            InitializeComponent();

        }
        public void button1_Click(object sender, EventArgs e)
        {
            t();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            listBox1.Items.Add(mas[0].ToString());
            /* for (int i =0; i<mas.Length;i++)             
            listBox1.Items.Add(mas.ToString());*/
        }
        void t()
        {
            n++;
            label1.Text = ("Размер массива: " + n);
            mas = new string[n];
            if (i < n)
            {
                mas[i] = textBox1.Text;
                if (i == 0)
                    textBox2.Text += mas[i];
                else
                    textBox2.Text += " " + mas[i];

                i++;
            }

            
        }
    }
}
З.Ы. если
Код:
listBox1.Items.AddRange(mas);
выдает ошибку "Значение не может быть неопределенным.
Имя параметра: item"

Последний раз редактировалось Gnaqeaz; 22.10.2014 в 12:39.
Gnaqeaz вне форума Ответить с цитированием
Старый 22.10.2014, 13:00   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

А изначальная задача какова? Есть подозрение, что у вас в t() при заполнении массива логическая ошибка
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 22.10.2014, 13:52   #3
Gnaqeaz
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 12
По умолчанию

Задачу я поставил себе сам ибо хочу научится программированию и выучить язык. Заключается она в следующем:
1)Заполнять массив размером "n" значениями "х"
2)Пробежать по всему массиву и найти определенное значение.
Gnaqeaz вне форума Ответить с цитированием
Старый 22.10.2014, 14:25   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Код:
if (i < n)
            {
                mas[i] = textBox1.Text;
                if (i == 0)
                    textBox2.Text += mas[i];
                else
                    textBox2.Text += " " + mas[i];

                i++;
            }
так вы только один элемент заполняете каждый раз, видимо цикл забыли. Да и переменную i следует объявить непосредственно в методе t(). Ну или хотя бы обнулять её перед использованием
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 22.10.2014, 14:54   #5
Gnaqeaz
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
видимо цикл забыли. Да и переменную i следует объявить непосредственно в методе t(). Ну или хотя бы обнулять её перед использованием
Цикл? обнулять? если будет цикл, то все элементы будут заполнятся значением из tb то есть: 1) 1 2) 1 3)1 , если обнулять каждый раз i то получится что я каждый раз заполню i-тый элемент массива, то есть 0 элемент. Не будь голословен, напиши код, я не могу дойти как мне его написать.

Последний раз редактировалось Gnaqeaz; 22.10.2014 в 14:58.
Gnaqeaz вне форума Ответить с цитированием
Старый 22.10.2014, 16:06   #6
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Обнулять до цикла
Да и само заполнение у вас довольно странное для поставленной задачи, т.к. все элементы массива будут одинаковыми. Советую еще раз подумать над задачей
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 22.10.2014, 20:13   #7
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Код:
listBox1.Items.Clear;
foreach (var s in mas)
  listBox1.Items.Add(s);
pu4koff вне форума Ответить с цитированием
Старый 23.10.2014, 06:59   #8
Gnaqeaz
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 12
По умолчанию

mas[i] = textBox1.Text;
при таком заполнении i это же элемент массива или ...?
Gnaqeaz вне форума Ответить с цитированием
Старый 23.10.2014, 07:17   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А точнее порядковый номер элемента массива, который начинается с нуля.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.10.2014, 07:53   #10
Gnaqeaz
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 12
По умолчанию Итого

Код:
{
    public partial class Form1 : Form
    {
        int n = 0;
        int i = 0;
        string[] mas;
        public Form1()
        {
            InitializeComponent();

        }        
        public void button1_Click(object sender, EventArgs e)
        {
            n = Convert.ToInt32(textBox1.Text);
            mas = new string[n];
            label1.Text = ("Размер массива: " + n);
        }

        private void button2_Click(object sender, EventArgs e)
        {//работает и так и так
          listBox2.Items.Clear();
          listBox2.Items.AddRange(mas);
            /*for (int i =0; i<mas.Length;i++)             
            listBox2.Items.Add(mas[i]);*/
        }
        private void button3_Click(object sender, EventArgs e)
        {
            mas[i++] = textBox2.Text;
        }

        
        
    }
}
Сделал так, ну и хрен с ним. Я понял, что либо до меня ни как не дойдет, как сделать, либо это просто не возможно... Но хотел сделать: в водишь эл. массива а массив зардеется от кол-ва элементов.
Gnaqeaz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение массива Teror4uks Общие вопросы Delphi 4 10.05.2014 18:38
Заполнение массива KaDima28 Общие вопросы Delphi 3 27.04.2014 21:30
Заполнение xlValidateList значениями массива Miguel Sanchez Microsoft Office Excel 10 25.05.2011 20:15
заполнение массива feras Общие вопросы Delphi 0 25.05.2011 03:18
Заполнение массива. Небесный Общие вопросы C/C++ 3 01.09.2009 01:39