Scenariusz: asynchroniczne zadanie w pętli wykonuje metoda zawierająca argumenty, które zmieniają się jak program kontynuuje:Przekazywanie argumentów ze zmianami wartości do Zadanie - Zachowanie?
while(this._variable < 100)
{
this._variable++;
var aTask = Task.Factory.StartNew(() =>
{
aList.add(this._variable);
update(this._savePoint);
});
}
Jeśli pętla działa szybciej niż zadań kompletnych będzie lista dodać bieżącą wartość zmiennej lub jest zmienna zapisana lokalnie i oryginalna wartość dodana?
Sprawdź to przez Jona Skeeta: http://csharpindepth.com/Articles/Chapter5/Closures.aspx –
+1 doskonałe pytanie! – nawfal