Rychlé naplnění dvojrozměrného pole   zodpovězená otázka

VB.NET

Mám dotaz potřebuji hned v deklaraci pole ho naplnit asi 45 slovy po 9 sloupcích a v 5 řádcích. Jak naplnit jednorozměrné pole je jednoduché klasicky jak to bylo v serialu:

dim pole() as string = {"jedno", "druhe", "treti", "ctvrte"}

to je mi jasné. Chápu taky jak vytvořit dvojrozměrné pole, jak do něj vkládat hodnoty, ale přes cyklus For je to zbytečné protože hodnoty jsou neměnné.

Teď to mám udělaný do 5 polí po 9 sloupcích a pak to musím v událostech rozeznat pomocí If. Funguje mi to, ale přijde mi to složité, a tak prosím o pomoc.

Díky za pomoc, Tonda

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Zdravim, já osobně bych si do Resources vložil textovej soubor, kterej by obsahoval všechny slova, který by byly oddělené např. středníkem(;). Pak v programu bych si do pole stringů načetl všechny jednotlivý slova z toho texťáku ( pomocí příkazu Split(;) ) a za pomoci cyklu For naplnil do pole všechny slova, viz. nějak takto:

Public Class Form1

    Dim pole(4, 8) As String

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim text As String = My.Resources.textak
        Dim slova() As String = text.Split(";")

        Dim aktualni As Integer = 0

        For i As Integer = 0 To 4
            For k As Integer = 0 To 8
                pole(i, k) = slova(aktualni)
                aktualni += 1
            Next
        Next

    End Sub

End Class

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

Zbytečně složité, jestli si dobře vzpomínám, pak syntaxe pro inline vícerozměrné pole je tato:

Dim values(,) As Integer = { _
    {1, 2, 3}, _
    {4, 5, 6} _
}
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Díky moc něco podobného jsem zkoušel, ale nešlo mi to. Asi je potřeba to rozepsat na ty řádky že? Ja to před tím měl v jednom řádku a oddělené čárkou, tak asi proto mi to nešlo.

Díky za pomoc

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

No ono to nemusí být na řádky. Ale asi jste měl drobnou synt. chybu. Nenapsal jste třeba toto?

Dim vls(,) As String = {"1","2"},{"11", "21"}

Pokud ano tak to máte špatně jelikož to musí být celé ještě uzavřeno do svorek:

Dim vls(,) As String = {{"1","2"},{"11", "21"}}

Ondryáš Ondřej

nahlásit spamnahlásit spam -2 / 2 odpovědětodpovědět

Přesně to jsem napsal:-) Už vím jak na to. Když jsem to psal tak mě vubec nenapadlo, že se to celé musí ještě uzavřít do samotné závorky.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Jasně že by to šlo i takto, prvně mě to taky napadlo, ale přijde mi zbytečné hrnout do programu další položky když to můžu nadeklarovat rovnou při spuštění.

Díky za odpověď

nahlásit spamnahlásit spam -1 / 1 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