Arraylist   zodpovězená otázka

VB.NET

Dobry den chtel jsem se optat. Jsem uplny zacatecnik a porad se tady nemuzu dopidit jakym zpusobem muzu cist zaznamy s Arraylistu. Mohl by jste mi nekdo poradi

nahlásit spamnahlásit spam 0 odpovědětodpovědět
Dim objects As New ArrayList()
'Přidat String na pozici 0
objects.Add("Jan Novák")
'Přidat Integer na pozici 1
objects.Add(123)
'Přidat Object na pozici 2
objects.Add(New Object())

'Načíst data z pozice 0
Dim name As String = objects(0)
'Načíst data z pozice 1
Dim number As Integer = objects(1)
'Načíst data z pozice 2
Dim obj As Object = objects(2)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

dekuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jeste bych mel dotaz jakym zpusobem se na tento objekt odkazu v jine metode. Napr. tento arraylist plnim v jedne tride a potom se v jine tride chci na tento array objekt podivat. Omlouvam se delal jsem 8 let pod VFP a ted se ucim VB a jsem trosku zmateny.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak to lze udělat mnoha způsoby. Při zachování zapouzdřenosti což je jedno z pravidel OOP by bylo asi nejlepší ten ArrayList předat do konstruktoru třídy ve které s ním chceme pracovat.

Class ArrayListManager
  Private list As ArrayList 'Instance se kterou se bude pracovat
  Public Sub New(ByVal list As ArrayList)
    Me.list = list
  End Sub
End Class

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Aha ja jsem myslel, ze pokud nekde zalozim arraylist zpusobem

Dim m_aRow As New ArrayList a tento list naplnim hodnotami, vytvori se mi array.objekt ke kteremu muzu pristupovat odkudkoliv. Jinak dekuji je to tady docela quickly.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Proměnná nemůže ležet jen tak někde "ve vzduchu". Musí být součástí nějakého elementu (třída, struktura, nebo modul). Vámi požadovaného výsledku byste dosáhl umístěním té deklarace do modulu, který je ve skutečnosti statická třída, deklarace v něm jsou dostupné v rámci celé aplikace.

Module MainModule
  Public m_aRow As New ArrayList
  'Dim = Private
End Module
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji za váš strávený čas

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Uz jsem na to prisel. Staci kdyz deklaraci arraylistu dam jako public. Haleluja

Public m_aDataRecordRow As New ArrayList

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback