我对 Parallel.ForEach 真的很困惑......它是如何工作的?
下面的代码有错误->File Is In Use
Parallel.ForEach(list_lines_acc, (line_acc, list_lines_acc_state) =>
{
FileStream file =
new FileStream(GPLfilePath, FileMode.Open, FileAccess.ReadWrite);
StreamReader reader = new StreamReader(file);
var processed = string.Empty;
Ok_ip_port = string.Empty;
while (reader.EndOfStream)
{
if (string.IsNullOrEmpty(Ok_ip_port))
{
Ok_ip_port = reader.ReadLine();
}
else
{
string currentLine = reader.ReadLine();
processed += currentLine + Environment.NewLine;
}
}
StreamWriter writer = new StreamWriter(file);
writer.Write(processed);
reader.Close();
writer.Close();
file.Close();
});
你能告诉我如何解决这个问题吗?此代码只是一个示例。
我想在 Parallel.ForEach 中使用字符串数组和列表,但添加或编辑这些集合总是存在问题。你能举个例子吗?我正在使用 Visual Studio 2010 + .NET Framework 4.0