我有一个包含 5000 多行的文件。每次运行我的程序时,我都想找到最有效的方法来选择其中一行。我本来打算用随机的方式选一个(那是在我知道有5000行之前)。认为这可能效率低下,所以我想我会看一下阅读第一行,然后从顶部删除它并将其附加到底部。但似乎我必须读取整个文件并创建一个新文件以从顶部删除。
什么是最有效的方法:随机方法还是新文件方法?
程序将每 5 分钟运行一次,我使用的是 c# 4.5
最佳答案
在 .NET 4.* 中,可以直接访问文件的一行。例如,要获取第 X 行:
string line = File.ReadLines(FileName).Skip(X).First();
完整示例:
var fileName = @"C:\text.txt"
var file = File.ReadLines(fileName).ToList();
int count = file.Count();
Random rnd = new Random();
int skip = rnd.Next(0, count);
string line = file.Skip(skip).First();
Console.WriteLine(line);
关于c# - 从大文本文件中读取随机行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32328620/