我需要使用最快的方法(我认为它是 readalltext)如何从 txt 文件中读取所有文本,我不知道如何更正代码:
string[] files = Directory
.GetFiles(@"C:\Users\Wiz\Desktop\test","*.txt", SearchOption.AllDirectories);
var letter = File.ReadAllText(files);
最佳答案
对我来说有趣的是指出这是最快的方法,因此我尝试了 3 种技术:
概览
结论
Parallel Approch 在这种情况下效果最好,Directory.EnumerateFiles
比 Directory.GetFiles
快得多(使用模式 *.txt 和包含的子目录进行搜索)
代码
A - GetFiles 和 ReadAllText
foreach (var file in Directory.GetFiles("C:\\Program Files (x86)", "*.txt", SearchOption.AllDirectories))
{
var a = File.ReadAllText(file);
}
B - 枚举文件和 ReadAllText
foreach (var file in Directory.EnumerateFiles("C:\\Program Files (x86)", "*.txt", SearchOption.AllDirectories))
{
var a = File.ReadAllText(file);
}
C - 并行方法
var files = Directory.EnumerateFiles("C:\\Program Files (x86)", "*.txt", SearchOption.AllDirectories);
Parallel.ForEach(files,(current) =>
{
var a = File.ReadAllText(current);
});
请随意添加想法、想法......
关于c# - 如何从所有 txt 文件 (*.txt) 中读取所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35699286/