C# Microsoft.CodeAnaанализ.CSharp.Scripting не ждет Parallel.For ⇐ C#
C# Microsoft.CodeAnaанализ.CSharp.Scripting не ждет Parallel.For
Я попробовал провести очень простой тест с помощью Microsoft.CodeAnaанализ.CSharp.Scripting со следующим фрагментом кода:
var code = @" вар myList = новый список(); Parallel.For(0, 300, я => { myList.Add("""" + я); }); вернуть мой список;"; вар scrOptions = ScriptOptions.Default .WithReferences("Система", "System.Threading", "ScriptEngineTest") .WithImports("System", "System.Threading.Tasks", "System.Collections.Generic") .WithLanguageVersion(LanguageVersion.Latest); вар скрипт = CSharpScript.Create(код, scrOptions); скрипт.Компилировать(); вар myList = (ожидайте script.RunAsync()).ReturnValue; Код выполняется нормально, но не дожидается завершения Paralell.For — в моем списке возврата другое количество, но не полные 300 элементов.
Это ошибка или, возможно, она не поддерживается?
Спасибо заранее
Я попробовал провести очень простой тест с помощью Microsoft.CodeAnaанализ.CSharp.Scripting со следующим фрагментом кода:
var code = @" вар myList = новый список(); Parallel.For(0, 300, я => { myList.Add("""" + я); }); вернуть мой список;"; вар scrOptions = ScriptOptions.Default .WithReferences("Система", "System.Threading", "ScriptEngineTest") .WithImports("System", "System.Threading.Tasks", "System.Collections.Generic") .WithLanguageVersion(LanguageVersion.Latest); вар скрипт = CSharpScript.Create(код, scrOptions); скрипт.Компилировать(); вар myList = (ожидайте script.RunAsync()).ReturnValue; Код выполняется нормально, но не дожидается завершения Paralell.For — в моем списке возврата другое количество, но не полные 300 элементов.
Это ошибка или, возможно, она не поддерживается?
Спасибо заранее
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение