Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
Random, questo sconosciuto!
martedì 27 novembre 2012 - 12.48
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
|
Windows 7
|
Visual Studio Express
max265
Profilo
| Newbie
5
messaggi | Data Invio:
mar 27 nov 2012 - 12:48
Ciao a tutti,
è il mio primo messaggio qui su dotnethell, ma è già da un pò che vi leggo! Oggi ho deciso di chiedere informazioni direttamente, sperando di non essere né nella sezione sbagliata, né inopportuno a fare certe stupide domande!
Come premessa devo dire che non ho formazione informatica (se escludiamo i 20 anni da autodidatta
), e solo da poco mi sono interessato alla programmazione!
Dopo aver letto un paio di libri sul c (quello "classico"), e avendo visto che approcciarsi da soli alla programmazione da soli è un impresa titanica, ho scelto di cominciare con un linguaggio di alto livello e quindi il c#!
Ora veniamo al mio problema:
Ho una matrice contenente delle stringhe. Creo poi un random e vado a prelevare dalla matrice due valori distinti. Ognuno di questi due estratti (a seconda di qual'è l'estratto) andranno a definire una label e un picturebox.
Posto un pò di codice per farvi capire dove sta il problema:
Random rnd = new Random();
string[] my_strings = new string[40] { "string1", "string2", ecc....};
int stringa_estratta1 = rnd.Next(0,3);
int stringa_estratta2 = rnd.Next(0,3);
while (stringa_estratta2 == stringa_estratta1)
stringa_estratta2 = rnd.Next(0,3);
string estratto1, estratto2;
if (stringa_estratta == 0)
{
estratto1 = my_strings[0];
label.text = bla bla
picturebox = bla bla
}
*********************
Fin qui nessun problema, il codice funziona, se non che dal random escono sempre valori tra 0 e 2, il 3 non viene mai estratto!! Se invece faccio rnd.Next(0,4) mi estrae valori da 0 a 3!!
Ho provato a usare switch al posto dell'if ma il risultato è il medesimo!
Potete aiutarmi a fare luce?
Vinsent
Profilo
| Senior Member
268
messaggi | Data Invio:
mar 27 nov 2012 - 18:11
Ho avuto lo stesso problema, non chiedermi il perchè...sono autodidatta anch' io e sono passato dal basic del C64 al .NET....il range che si passa alla funzione include il primo numero ed esclude l' ultimo...
Leggi la parte "Parametri" e "Valore restituito ":
http://msdn.microsoft.com/it-it/library/2dx6wyd4
(v=vs.100).aspx
Ciao
max265
Profilo
| Newbie
5
messaggi | Data Invio:
ven 30 nov 2012 - 15:40
Si infatti bastava leggere il piccolo pop-up quando si seleziona il " .next "
Sapevo che era una domanda idiota ma la cosa è tutt'altro che intuitiva, e la fretta mi ha incretinito
Grazie dell'aiuto Vinsent!!!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !