Salve a tutti,
è da un po che non sto usando il c#, e ora che ho riniziato sono un pochetto arrugginito.. In pratica devo prima leggere un file di testo e trovare il numero di righe presenti, e poi, creando un valore random, scegliere casualmente una delle righe del documento e scriverla su una textbox.
Ho riscontrato due problemi: quando leggo il numero di righe mi rida numeri sballati, e poi la frase che compare sulla textbox è sempre la prima del file.
per leggere il numero di righe ho usato tre modi diversi, ma i risultati sono sempre gli stessi.
1 modo:
codice:
string frase;
int counter = 0;
while (sr.Peek() != -1)
{
frase = sr.ReadLine();
counter++;
}
2 modo:
codice:
string counter = (new StreamReader(filePath)).ReadToEnd().Split('\n').Length;
3 modo:
codice:
string frase="";
int counter = 0;
while (frase!=null)
{
frase = sr.ReadLine();
counter++;
}
e poi qui c'è la riscrittura della riga prescelta:
codice:
using (StreamReader line = new StreamReader(@"c:/users/" + FuserName + "/desktop/domande.txt"))
{
int lunghezza;
Random casuale = new Random();
int numerocasuale = casuale.Next(1, lunghezza);
string domanda = "";
for (int i = 0; i < 3; i++)
{
domanda = "";
domanda = line.ReadLine();
}
textBox3.Text = domanda;
}