Здравствуйте, vvv848165@ya.ru, Вы писали:
VYR>для обновления компонентов из потока очень часто используют BeginInvoke к примеру:
VYR>chart1.BeginInvoke((MethodInvoker)(() =>Action(spectr))); VYR>НЕУЖЕЛИ C# копирует spectr перед вызовом Action в основной поток ???
Да. VYR>или что это было?
Это было т.н. замыкание (closure).
"локальные переменные" при использовании их в лямбдах трансформируются — генерируется специальный класс, в котором переменная становится полем; тело лямбды становится методом этого класса.
Таким образом, время жизни "переменной" продлевается за пределы времени жизни текущего фрейма стека.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.