我有以下代码。有没有更有效的方法来完成相同的任务?
- 给定一个文件夹,遍历文件夹中的文件。
- 在每个文件中,跳过前四个标题行,
- 根据空格分割行后,如果结果数组包含的元素少于 7 个,则跳过它,
- 检查指定的元素是否已经在字典中。如果是,则增加计数。如果没有,请添加它。
这不是一个复杂的过程。有一个更好的方法吗?林克?
string sourceDirectory = @"d:\TESTDATA\";
string[] files = Directory.GetFiles(sourceDirectory, "*.log",
SearchOption.TopDirectoryOnly);
var dictionary = new Dictionary<string, int>();
foreach (var file in files)
{
string[] lines = System.IO.File.ReadLines(file).Skip(4).ToArray();
foreach (var line in lines)
{
var elements = line.Split(' ');
if (elements.Length > 6)
{
if (dictionary.ContainsKey(elements[9]))
{
dictionary[elements[9]]++;
}
else
{
dictionary.Add(elements[9], 1);
}
}
}
}