|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: May 2012
Messaggi: 9
|
[c#] leggere righe di file di testo
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++;
}
Codice:
string counter = (new StreamReader(filePath)).ReadToEnd().Split('\n').Length;
Codice:
string frase="";
int counter = 0;
while (frase!=null)
{
frase = sr.ReadLine();
counter++;
}
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;
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Io farei così:
Codice:
public static void Main(string[] argv)
{
FileInfo file = new FileInfo(@"FILENAME");
string[] lines;
using ( var stream = file.OpenText() ) {
lines = stream.ReadToEnd().Split('\n');
}
Console.WriteLine("{0} has {1} lines.", file.Name, lines.Length);
int randomLine = new Random().Next(lines.Length - 1);
Console.WriteLine("Line {0} = {1}", randomLine, lines[randomLine]);
Console.ReadKey();
}
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: May 2009
Messaggi: 186
|
Oppure:
Codice:
static void Main(string[] args)
{
string[] lines = File.ReadAllLines("Test.txt");
Console.WriteLine(lines[new Random().Next(lines.Length)]);
Console.ReadKey();
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:56.


















