следующий блок кода в C# ввести ли условия гонки:C# Parallel.ForEach вводит условие гонки, когда используется для замены текста файла?
Parallel.ForEach(guidDictionary, (dictionaryItem) =>
{
var fileName = dictionaryItem.Key;
var fileText = File.ReadAllText(fileName, Encoding.ASCII);
Parallel.ForEach(guidDictionary, (guidObj) =>
{
fileText = fileText.Replace(guidObj.Value.OldGuid, guidObj.Value.NewGuid);
});
File.WriteAllText(fileName, fileText);
});
?
Должно быть хорошо, если это фактические идентификаторы GUID, которые вы заменяете. –
Не поймите, почему существует внутренний 'ForEach' ... если это не упрощенная выборка, вы должны использовать один вызов для' Regex.Replace' вместо создания нескольких копий всего содержимого файла. –
Каждый экземпляр каждого OldGuid должен быть заменен соответствующим NewGuid в данном файле. – devinbost