Ti faccio l'esempio solo per le lettere dalla a alla f
VBNET Programming
Private Sub CreaAssociazione()
Dim i As Integer
For i = 0 To 127
associazione.Add(0)
Next
associazione(Asc("a")) = 11 '<- se lo fai cosi è piu leggibile, altrimenti come sotto
associazione(9<img src="https://hackmix.altervista.org/images/smilies/cool.png" alt="Cool" title="Cool" class="smilie smilie_56" /> = 12 'b
associazione(99) = 13 'c
associazione(100) = 14 'd
associazione(101) = 15 'e
associazione(102) = 16 'f
End Sub
il resto mettilo tu
in questo modo l'array è tutto inizializzato a 0
e solo le lettere che ti interessano le inizializzi al valore che vuoi
Prova a scrivere abcdefg
vedrai che dalla a alla f funziona, mentre l'ultimo ti esce 000
perchè la g non l'hai inizializzata,
questo per dire che devi associare tutte le lettere e i caratteri che può capitarti di dover convertire, ad esempio lo spazio, le parentesi, il punto esclamativo e interrogativo e cosi via.
In poche parola partendo dalla tabella ascii tutte le posizioni dalla 32 alla 125 (o 126 se vuoi il tilde)
buon lavoro
EDIT:
giusto per completare il discorso, l'arraylist prevede di aggiungere un range di valori, ad esempio:
VBNET Programming
associazione.AddRange(New Integer() {0, 1, 2, 3}) ' etc etc
Però in questo caso è poco pratico, perchè a te interessando solo dal 32 al 126 quindi ti toccherebbe a mano mettere 32 valori a 0 (o altro) per poi mettere quelli che ti interessano. l'altro difetto è che non capiresti quale lettera è associata a cosa, avresti una cosa cosi:
{0,0,0,0,0,0,0,0,0,0,0,0,0,......,11,12,13,14,15,,,...}
diciamo che vuoi cambiare la b... qual è? boh, direi quel 12 li, ma non è cosi facile da trovare.
EDIT: ho modificato una riga del codice sopra, facci caso, quella alla lettera 'a', fatto cosi è piu leggibile, almeno se devi poi modificare qualcosa vedi subito dove devi andare a toccare