在此代码字符串x
中给出了一个OutOfMemoryException
. 有没有其他方法可以解析所有文件而无需获取OutofMemoryException
?我尝试过的代码似乎没有任何问题。
有人建议让程序逐个文件读取,而不是读取整个文件并将其放在一个字符串x
中。
IEnumerable<string> textLines = Directory.GetFiles(@"C:\Users\karansha\Desktop\Unique_Express\", "*.*")
.Select(filePath => File.ReadLines(filePath))
.SelectMany(line => line);
string x = string.Join(",", textLines);
List<string> users = new List<string>();
Regex regex = new Regex(@"User:\s*(?<username>.*?)\s");
MatchCollection matches = regex.Matches(x);
foreach (Match match in matches)
{
var user = match.Groups["username"].Value;
if (!users.Contains(user)) users.Add(user);
}
int numberOfUsers = users.Count(name => name.Length < 15);
Console.WriteLine("Unique_Users_Express=" + numberOfUsers);