powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Неправильно присваиваются элементы в массив
8 сообщений из 8, страница 1 из 1
Неправильно присваиваются элементы в массив
    #39411544
YoHnA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

В Vb нуб, в .NET тем более.

Есть CheckedListBox, в нем 8 позиций. На четырех стоят галочки. Я пытаюсь записать в массив, где эти галочки стоят.
Стоят они на позициях 0, 3, 4, 5.
Код 1:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim mass(7) As Integer
Dim k As Integer
Dim i As Integer
        For Each i In CheckedListBox1.CheckedIndices
            mass(i) = i
        Next
        st1 = ""
        For Each k In mass
            st1 = st1 + ", " + CStr(mass(k))
        Next
        MsgBox(st1)


На выходе:
0, 0, 0, 3, 4, 5, 0, 0

И вроде бы все верно. Но поскольку задача заключается в пометке, на каких позициях галочки вообще стоят, код немного меняется.

Код 2:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim mass(7) As Integer
Dim k As Integer
Dim i As Integer
        For Each i In CheckedListBox1.CheckedIndices
            mass(i) = 1
        Next
        st1 = ""
        For Each k In mass
            st1 = st1 + ", " + CStr(mass(k))
        Next
        MsgBox(st1)


На выходе:
0, 1, 1, 0, 0, 0, 1, 1

В принципе, такой вариант мне подходит, поскольку на нужных позициях стоят нули. Но я абсолютно не понимаю, как это работает и почему единицами заменяются не mass(i), а наоборот.
Помогите, пожалуйста, разобраться.
...
Рейтинг: 0 / 0
Неправильно присваиваются элементы в массив
    #39411772
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote автор]
For Each k In mass
st1 + ", " + CStr(mass(k))
[quote]
правильно будет

Код: vbnet
1.
2.
For Each k In mass
st1 + ", " + CStr(k)
...
Рейтинг: 0 / 0
Неправильно присваиваются элементы в массив
    #39411774
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Roman Mejtes][quot автор]
For Each k In mass
st1 + ", " + CStr(mass(k))
пропущено...
а еще проще

String.Join(", ", mass); (на C#, на VB вроде так же)
...
Рейтинг: 0 / 0
Неправильно присваиваются элементы в массив
    #39411936
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще проще - биндингами разрулить
...
Рейтинг: 0 / 0
Неправильно присваиваются элементы в массив
    #39412238
YoHnA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовала представленные варианты - вышло еще белибердовее, единицы вообще не в тех местах.
В общем, код не работает, по ходу, само присвоение единиц неправильное.
Подскажите, пожалуйста, что не так.

И что такое биндинги?
...
Рейтинг: 0 / 0
Неправильно присваиваются элементы в массив
    #39412611
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
могу дать один совет! купите книгу VB для чайников и начинайте читать, в программировании без чтения книг вы далеко не уедите.
эпирическим методом (методом научного тыка) изучить современные технологии не получится. Для этого надо быть как минимум уже профессионалом и иметь профессильнальную интуицию.
Если вы не можете найти проблему в столь лёгком куске кода и составить столь простой алгоритм, значит нужно взять в руки книгу, победить лень и почитать.
Это мой совет, проблему я уже описал выше
...
Рейтинг: 0 / 0
Неправильно присваиваются элементы в массив
    #39412904
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YoHnAИ что такое биндинги?

Лень гуглить за тебя
...
Рейтинг: 0 / 0
Неправильно присваиваются элементы в массив
    #39413619
Фотография Macks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YoHnAПопробовала представленные варианты - вышло еще белибердовее, единицы вообще не в тех местах.
В общем, код не работает, по ходу, само присвоение единиц неправильное.
Подскажите, пожалуйста, что не так.


Сделай цикл от 0 до 6, а потом уже бери значения по индексу из массива.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Неправильно присваиваются элементы в массив
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]