C#(锐利)从文本文件中读取随机行

时间:2011-04-26 20:44:27

标签: c# random line text-files

谁能告诉我如何从txt文件中读取随机行?我想从txt文件中读取随机行,并在textBox中仅显示该行。 代码示例会很棒! Thanx in foward

3 个答案:

答案 0 :(得分:8)

var lines = File.ReadAllLines(path);
var r = new Random();
var randomLineNumber = r.Next(0, lines.Length - 1);
var line = lines[randomLineNumber];

答案 1 :(得分:1)

最简单的解决方案是将所有行读取到内存中并随机选择一行。假设所有行都可以适合内存。

string[] allLines = File.ReadAllLines(path);
Random rnd1 = new Random();
Console.WriteLine(allLines[rnd1.Next(allLines.Length)]);

答案 2 :(得分:0)

以下是代码示例:

        int lineCount = File.ReadAllLines(@"C:\file.txt").Length;
        Random rnd = new Random();
        int randomLineNum = rnd.Next(lineCount);
        int indicator = 0;

        using (var reader = File.OpenText(@"C:\file.txt"))
        {
            while (reader.ReadLine() != null)
            {
                if(indicator==randomLineNum)
                {
                    //do your stuff here
                    break;
                }
                indicator++;
            }
        }