Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 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, что 0 относится к полю gr, а "Фетисов" – к полю FIO

А с какой это радости среда 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
Public st1 As stud = {0, "Фетисов"}

Таким образом инициализируются массивы, но не структуры!
Да что есть Public и Private я и так знаю,

Если бы знал, то не задавал бы подобные вопросы..

Ответить

Номер ответа: 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 появилась возможность инициализировать свойства объекта:

Dim Palau = New Country { _
  .Name = "Palau", _
  .Area = 458, _
  .Population = 16952
}

Это не конструктор - а всего лишь более удобная форма инициализации свойств.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам