PDA

View Full Version : [C#] Problema visualizzazione di un vettore di stringhe


CMario#
16-07-2013, 10:00
Salve a tutti,sto creando un programmino che scelga casualmente dei volontari in ambito scolastico per un'ipotetica interrogazione o quant'altro. Ho un vettore contenente tutti i nomi degli studenti,quandovoglio aggiungere i nominativi alla listbox,non mi aggiunge i nomi(Cioè il contenuto) ma mi visualizza l'indice.

Ecco Il Codice:

public partial class MainForm : Form
{
int j;
Random r= new Random();
int cont;
string [] alunno=new string[28]{"Andruccioli","Barbieri","Bartoloni","Berardi","Buono","Cianvattini","Crociati","Deluigi","Donini","Drudi","Freducci","Fu","Gallo","Ginestreti","Grossi","Limanovski","Lotti","Mazzoli","Montanari","Orazi","Paci","Papini","Petrillo","Sganga","Tonelli","Toni","Tonti","Ugolini"};
public MainForm()
{

InitializeComponent();

}

void Btn_generaClick(object sender, EventArgs e)
{


for( j=0;j<cont;j++)
{
alunno[j]=Convert.ToString(r.Next(0,29));

}

}

void Btn_aquisisciClick(object sender, EventArgs e)
{
cont=Convert.ToInt32(txt_numero.Text);

}

void Btn_visualizzaClick(object sender, EventArgs e)
{
lst_lista.Items.Clear();
for(int j=0;j<cont;j++)
{
lst_lista.Items.Add(alunno[j]);
}
}
}

Grazie per l'attenzione :)

lorenzo001
16-07-2013, 12:45
Non ho capito il problema ...

CMario#
16-07-2013, 13:22
In poche parole nella listbox io voglio che mi appaiano i nomi scelti casualmente,invece dei nomi mi appaiono dei numeri,che penso siano gli indici del vettore. Spero di essermi spiegato se no scusami ma non so come dirloxD

idoido
16-07-2013, 16:05
for( j=0;j<cont;j++)
{
alunno[j]=Convert.ToString(r.Next(0,29)); // <-----------------
}

CMario#
17-07-2013, 10:19
for( j=0;j<cont;j++)
{
alunno[j]=Convert.ToString(r.Next(0,29)); // <-----------------
}

Deduco che sia li il problema ma ho provato a cambiarlo,togliendo il vettore mi genera casualmente e mi mostra ovviamente un solo nome ripetuto tot volte,dato che ogni volta il valore cambia nella variabile. Il Convert.ToString deve starci perchè mi da un errore di conversione...

The_ouroboros
17-07-2013, 11:16
ma visualizzaew un alunno[indice random] non è possibile?

dyablo96
17-07-2013, 14:14
se non ricordo male il c# tu scrivendo questa riga:

alunno[j]=Convert.ToString(r.Next(0,29));

tu hai inizializzato il contenuto di alunno all'indice j con una stringa che assume valori casuali compresi tra 0 e 29, presumo sia questo il motivo per cui ti stampa dei numeri

CMario#
17-07-2013, 16:05
Grazie per le risposte, ho risolto mettendo nel for del button visualizza oltre la visualizzazione anche la randomizzazione di j,grazie a The_ouroboros e a dyablo96 per avermi fatto capire il problema,grazie anche a Idoido per avermi indirizzato al problema,sfortunatamente non ero riuscito a comprenderlo da solo :(

dyablo96
17-07-2013, 18:43
di niente, sempre a disposizione :)