Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [vb.net] Numeri Casuali es escludere quelli già usciti
Forum - C# / VB.NET - [vb.net] Numeri Casuali es escludere quelli già usciti - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 14:47
Giovedì, 15/10/2009
Testo quotato

Postato originariamente da swet:
grazie l' ho riadattato e adesso funziona per potresti spiegarmi cosa significa questa linea? Cosa fa ? grazie!
Codice sorgente - presumibilmente Plain Text

  1. EstrazioneCorrente= ListNumeri(Rnd.Next(0,ListNumeri.Count))



Assegna alla variabile EstrazioneCorrente il valore di ListNumeri(N), dove N è un numero casuale da 0 a ListNumeri.Count - 1 (che sarebbe l'indice maggiore della ListNumeri).

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:19
Giovedì, 15/10/2009
Perchè continuate ad usare ArrayList? E' una lista a tipizzazione debole, quindi poco performante, usate i Generics piuttosto.

@Goldberd: un ciclo è meno veloce di 10 estrazioni sicure, inoltre i GoTo non sono ben accetti in .NET.

PM Quote
Avatar
GoLDBeRG (Ex-Member)
Expert


Messaggi: 331
Iscritto: 19/12/2005

Segnala al moderatore
Postato alle 21:26
Giovedì, 15/10/2009
@totem: i cicli goto a volte sono indispensabili, funzionano alla perfezione, e gli arraylist sono perfetti anche per contenere intere classi... non mi hanno mai deluso...

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 14:32
Venerdì, 16/10/2009
Testo quotato

Postato originariamente da GoLDBeRG:

@totem: i cicli goto a volte sono indispensabili, funzionano alla perfezione, e gli arraylist sono perfetti anche per contenere intere classi... non mi hanno mai deluso...



Che entrambi funzionino nessuno lo mette in dubbio, ma che siano la scelta migliore è un altro discorso. Sarà una mia opinione, ma il "saltare" da una parte all'altra non è buona abitudine: si può fare tutto con i cicli, ed è più rigoroso.
Per gli ArrayList, mi spiace deluderti, ma forse sei rimasto un po' indietro. Dalla versione 2005, VB supporta i tipi Generics, che permettono di creare, tra le altre cose, liste a tipizzazione forte. Tali liste possono comunque contenere qualsiasi tipo di dato, ma ogni loro istanza è dedicata e ottimizzata per la gestione di UN tipo di dato. Ad esempio,
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim L As New List(Of Int16)


è una lista di interi a 16 bit: ogni elemento è un int16 ed occupa esattamente 16 bits.
Un ArrayList, al contrario, può contenere solo oggetti. Il fatto che non faccia distinzione implica che ogni dato deve essere convertito in un oggetto, quindi in un tipo reference. Se si tratta già di un oggetto, deve subire comunque un cast verso il tipo Object; se si tratta di un tipo value, deve subire il boxing che lo rende reference. Quindi, oltre a sprecare un tot di bytes in più per ogni elemento della lista, impiega anche di più a elaborare e gestire i dati. Se non ci credi, puoi cronometrare qualsiasi cosa con uno Stopwatch, e vedrai che le liste generics sono sempre più performanti degli arraylist (con gli Int32, ad esempio, sono circa 6 volte più veloci, oltre ad occupare meno memoria).

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo