Страница: 1 |
Страница: 1 |
Вопрос: Инициализация структур, массивов структур
Добавлено: 20.02.07 11:28
Автор вопроса: eugrita
Как инициализируется структура или массив структур в VB NET?
Записи типа
Structure stud
Dim gr As Integer 'код группы
Dim FIO As String 'Фамилия
End Structure
Dim st() As stud ' = {0, "Фетисов"}
Dim st1 As stud = {0, "Фетисов"}
Не понимает среда NET, что 0 относится к полю gr, а "Фетисов" – к полю FIO
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 20.02.07 13:13
А с какой это радости среда NET должна тебе предоставлять из вне доступ к объвленным тобой ЗАКРЫТЫМ переменным?
Учи мат. часть и читай про зоны видимости переменных и модификаторы доступа..
Номер ответа: 2
Автор ответа:
eugrita
Вопросов: 6
Ответов: 8
Профиль | | #2
Добавлено: 20.02.07 14:13
Да что есть Public и Private я и так знаю,
только в данном случ ошибка не в том, а что не понимаю как правильно написать инициализацию структуры в NET
- весь список заключаем в фигурные скобки а внутри - зпт - и всё равно компилятор не понимает
говорит что 0 нельзя преобразовать к типу всей stud а не к целому st.N
Public st1 As stud = {0, "Фетисов"}
Номер ответа: 3
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #3
Добавлено: 20.02.07 15:18
Таким образом инициализируются массивы, но не структуры!
Если бы знал, то не задавал бы подобные вопросы..
Номер ответа: 4
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #4
Добавлено: 20.02.07 20:46
так низя. Используй конструкторы или десериализацию
Номер ответа: 5
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #5
Добавлено: 28.02.07 05:10
В .NET нет возможности создать конструктор по умолчанию для структуры, а также инициализировать каким-либо образом поля.
Можно использовать конструктор с параметрами
Также можно для private полей делать обертки в виде свойств и инициализировать значения через свойства.
Номер ответа: 6
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #6
Добавлено: 28.02.07 05:17
В Visual Basic 9.0 появилась возможность инициализировать свойства объекта:
.Name = "Palau", _
.Area = 458, _
.Population = 16952
}
Это не конструктор - а всего лишь более удобная форма инициализации свойств.