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 を使用しています