Инициализация структуры при объявлении
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Инициализация структуры при объявлении Expand / Collapse
Автор
Сообщение
20.02.2007 13:37
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 06.12.2007 15:50
Сообщ.: 63, Visits: 589

Как инициализируется структура или массив структур в 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

Сообщ. #910955
21.02.2007 10:02
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Насколько я понимаю надо инициализировать поля по отдельности или создавать конструктор. В первом случае можно использовать ключевое слово with чтобы не повторять постоянно имя переменной.

Кстати не советую использовать structure для объявления классов так как она зарезервирована для так называемых value-типов. А у тебя здесь обычный класс и лучше ключевое слово class и использовать.

Сообщ. #910971
21.02.2007 23:50
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 06.01.2008 10:33
Сообщ.: 70, Visits: 678
bazile правильно говорит, делай так:
 

Private Class Stud

        Private _codeGroup As Integer
        Private _fio As String

        Public Sub New()
            Me.New(Nothing, String.Empty)
        End Sub

        Public Sub New(ByVal codegroup As Integer, ByVal fio As String)
            _codeGroup = codegroup
            _fio = fio
        End Sub

        Public Property CodeGroup() As Integer
            Get
                Return _codeGroup
            End Get
            Set(ByVal value As Integer)
                _codeGroup = value
            End Set
        End Property

        Public Property FIO() As String
            Get
                Return _fio
            End Get
            Set(ByVal value As String)
                _fio = value
            End Set
        End Property

    End Class

    Private Sub UseExample()
        Dim s As New Stud(824, "Иванов Петр Сидорович")
        '.......
        s.CodeGroup = 823
    End Sub

Сообщ. #910992
09.03.2007 12:53
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Упрощенная инициализация объектов появится в .NET Framework 3.5 (Orcas)

http://weblogs.asp.net/scottgu/archive/2007/03/08/new-c-orcas-language-features-automatic-properties-object-initializers-and-collection-initializers.aspx

Сообщ. #911357
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 6:48