2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76
1

Как из ListBox загнать значение в массив?

18.02.2014, 00:16. Показов 6242. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, как из listBox загнать значение в массив?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2014, 00:16
Ответы с готовыми решениями:

Как из ListBox загнать значение в массив точек для poligon
Как из ListBox загнать значение в массив точек для poligon

Как загнать текст из консоли в массив и как загнать текст из файла в массив
Как загнать текст из консоли в массив и как загнать текст из файла в массив. Как использовать...

Как загнать значение в инпутбокс?
Добрый вечер. Нашел в сети код, для организации динамических списков. Вот кусок:...

Как загнать предложение в массив?
Как загнать предложение в массив string? Посимвольно это все понятно, а именно как чтобы каждое...

11
8942 / 4854 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
18.02.2014, 03:26 2
C#
1
2
object[] ar = new object[listBox1.Items.Count];
listBox1.Items.CopyTo(ar, 0);
0
2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76
18.02.2014, 10:38  [ТС] 3
выдает исключение
C#
1
2
3
4
5
6
7
8
9
                object[] ar = new object[listBox5.Items.Count];
                listBox2.Items.CopyTo(ar, 0); //Дополнительные сведения: Индекс находился вне границ массива.
                
                double[] massA = new double[ar.GetLength(0)];
                
                for (int j = 0; j < massA.Length; j++)
                {
                    listBox2.Items.Add(massA[j]);
                }
0
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
18.02.2014, 10:44 4
Kashi, Вас не смущает, что вы создаете массив объектов, основываясь на колечестве элементов в listBox5, а вставить в него пытаетесь элементы из listBox2? Попробую угадать: в listBox2 элементов больше, чем в listBox5?
0
2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76
18.02.2014, 10:57  [ТС] 5
да, извините не заметил.
но при правке все ровно не вносятся значение в массив
0
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
18.02.2014, 11:19 6
Цитата Сообщение от Kashi Посмотреть сообщение
но при правке все ровно не вносятся значение в массив
Как вы это поняли?
0
2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76
18.02.2014, 11:23  [ТС] 7
поставил breakpoint и посмотрел
0
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
18.02.2014, 11:26 8
Kashi, Какой массив смотрели то? Ваш код чуть более, чем странный. Не понятно, зачем вы копируете данные в массив ar, если потом создаете пустой массив massA и копируете его пустое содержимое в listBox из которого вы данные копировали в массив ar ... Поэтому и спрашиваю.
0
2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76
18.02.2014, 11:31  [ТС] 9
сейчас предоставлю полный код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
public void Chart()
        {
            GraphPane zPane2 = zedGraphControl1.GraphPane;
 
            zPane2.CurveList.Clear();
 
            PointPairList list2 = new PointPairList();
            PointPairList list3 = new PointPairList();
            PointPairList list4 = new PointPairList();
 
            double y;
            double z;
            double a = 0.5;
            double b = 4;
            double w;
            double diff;
            
            
            for(var x = 1; x <= 10; x++)
            {
                y = a * x * x;
                z = b * x;
                w = y - z;
 
                list2.Add(x, y);
                list3.Add(x, z);
                list3.Add(x, w);
                listBox4.Items.Add(x.ToString());
                listBox5.Items.Add(y.ToString());
                listBox6.Items.Add(z.ToString());
                listBox1.Items.Add(w.ToString());
 
 
                object[] ar = new object[listBox5.Items.Count];
                listBox5.Items.CopyTo(ar, 0);
                
 
                double[] massA = new double[ar.GetLength(0)];
 
                listBox2.Items.Add(massA);
                for (int j = 0; j < massA.Length; j++)
                {
                    listBox2.Items.Add(massA[j]);
                }
            }
            LineItem myCurve2 = zPane2.AddCurve("y", list2, Color.Red, SymbolType.Diamond);
            LineItem myCurve3 = zPane2.AddCurve("z", list3, Color.Black, SymbolType.Diamon);
 
            zPane2.XAxis.Scale.MinAuto = true;
            zPane2.XAxis.Scale.MaxAuto = true;
 
            zPane2.YAxis.Scale.MinAuto = true;
            zPane2.YAxis.Scale.MaxAuto = true;
 
            zedGraphControl1.AxisChange();
 
            zedGraphControl1.Visible = true;
            zedGraphControl1.Invalidate();
 
 
        }
0
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
18.02.2014, 11:52 10
Kashi, ситуации это не изменило. Все, что я писал выше, справедливо я для полного кода. Попробую вам объяснить все на вашем же коде. вычисления опущу, чтобы не отвлекало:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
            for(var x = 1; x <= 10; x++)
            {
                // Здесь вы что то-то считате и куда то вставляете
                object[] ar = new object[listBox5.Items.Count]; // Создаем массив размером, как у listBox5. Допустим, размер 5
                listBox5.Items.CopyTo(ar, 0); // копируете содержимое коллекции Items и listBox5 в ar, допустим, там будет {4, 6, 2, 7, 5}
                
 
                double[] massA = new double[ar.GetLength(0)]; // Создаем новый массив, теперь вещественных чисел, длинной, как у массива ar. Пока что в нем содержатся данные {0, 0, 0, 0, 0} (про GetLength(0), конечно, отдельная тема, здесь не затрагиваю)
 
                listBox2.Items.Add(massA); // Вставляем вещественный массив в listBox2. Напоминаю, в массиве данные {0, 0, 0, 0, 0}
                for (int j = 0; j < massA.Length; j++)
                {
                    // Теперь на всякий случай вставляем данные еще и поштучно из массива, в котором до сих пор содержатся следующие данные {0, 0, 0, 0, 0}
                    listBox2.Items.Add(massA[j]);
                }
            } // А вот здесь заканчивается блоки видимости массивов ar и massA, то есть, дальше с этими массивами работать нельзя, а в этой части ни чего полезного из их использования извлечено не было
Добавлено через 2 минуты
Перефразирую свой предыдущий вопрос
Цитата Сообщение от kodv Посмотреть сообщение
Какой массив смотрели то?
В каком массиве должны оказаться данные?
0
2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76
18.02.2014, 11:56  [ТС] 11
Данные из listBox5 должны оказаться в массиве massA
0
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
18.02.2014, 12:22 12
Цитата Сообщение от Kashi Посмотреть сообщение
Данные из listBox5 должны оказаться в массиве massA
А зачем? весь этот обсуждаемый кусок кода пишется в одну строчку без всяких массивов:
C#
1
listBox2.Items.AddRange(listBox5.Items);
Для того, чтобы одни и те же данные не вставлялись много раз (в вашем коде этого нет), нужно добавить еще одну строку. Итого получится:
C#
1
2
listBox2.Items.Clear();
listBox2.Items.AddRange(listBox5.Items);
Но если охота по усложнять себе жизнь, можете в цикле переносить данные:
C#
1
for(int i = 0; i < ar.Length; massA[i] = Convert.ToDouble(ar[i++]));
или LINQ использовать:
C#
1
massA = ar.Select(x => Convert.ToDouble(x));
0
18.02.2014, 12:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2014, 12:22
Помогаю со студенческими работами здесь

Как массив загнать в Bitmap
Люди помогите тану есть массив bits вот так созданный:%) а как его обратно в буфер загнать?:-[...

Как из стека int-ы загнать в массив?
массив определен за асемблерской вставкой

Как загнать массив записей в процедуру?
Как загнать массив записей в процедуру? Препод задал задачу по добавлению и изменению массива...

Как загнать в массив столбцы идущие не по порядку
Всем привет! Столкнулся с проблемой, имеется таблица в формате excel. В ней есть n-е количетсов...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru