Описание тега captured-variable

3 ответа

Захваченная переменная проблема создания

В настоящее время я думаю о какой-то идее, которую не могу понять. Проблема заключается в том, что я хочу использовать одну лямбда-функцию для создания экземпляра захваченной переменной, а другую лямбду - для доступа к свойству этой переменной. Поск…
10 июн '09 в 09:10
11 ответов

Захваченная переменная в цикле в C#

Я встретил интересную проблему о C#. У меня есть код, как показано ниже. List<Func<int>> actions = new List<Func<int>>(); int variable = 0; while (variable < 5) { actions.Add(() => variable * 2); ++ variable; } foreach …
07 ноя '08 в 07:26
1 ответ

Быстрое значение захвата с тем же именем

В закрытии мы можем как-то использовать то же имя внутри, а также значение, захваченное закрытием. func load(withResource resource: Resource) { var data: A? var error: Error? load(resource: resource) { (result, error) in data = result // Ok! error =…
08 дек '16 в 19:58
0 ответов

Почему я не вижу здесь поведение перехваченной переменной?

Я столкнулся с этим странным поведением с захваченными переменными. Ниже две петли. Я ожидаю, что оба будут вести себя одинаково. Почему это ведет себя по-другому? private static void Loop1() { var actions = new List<Action>(); foreach (var nu…
04 ноя '16 в 15:44
1 ответ

Захваченные переменные в ParameterizedThreadStart

У меня есть следующий код, который создает 10 потоков, которые в свою очередь записывают сообщения на консоль: for (int i = 0; i < 10; i++) { { Thread thread = new Thread((threadNumber) => { for (int j = 0; j < 10; j++) { Thread.Sleep(200);…
13 июл '13 в 17:39
1 ответ

Объединить две группы регулярных выражений в объект пары ключ / значение?

Допустим, у меня есть следующая строка Type="Category" Position="Top" Child="3" ABC="XYZ".... И 2 группы регулярных выражений: ключ и значение Key: "Type", "Position", "Child",... Value: "Category", "Top", "3",... Как мы можем объединить эти две зах…
25 дек '10 в 07:25
3 ответа

Как вычислить ранг IEnumerable<T> и сохранить его в типе T

Я хочу вычислить ранг элемента в списке IEnumerable и назначить его члену. Но приведенный ниже код работает только при первом вызове. Второй вызов начинается с последнего значения ранга. Поэтому вместо выходных 012 и 012 я получаю 012 и 345 class My…
28 апр '12 в 13:41
1 ответ

Где хранится захваченная переменная в Java?

Я пытаюсь понять концепцию захваченной переменной в Java. Я нашел довольно подробную статью об этом: http://www.devcodenote.com/2015/04/variable-capture-in-java.html и я не уверен насчет части байт-кода: Точно так же для доступа к локальным переменн…
14 апр '17 в 15:11
1 ответ

Захваченные переменные в потоке в цикле в C#, каково решение?

Я наткнулся на этот пример, который демонстрирует случай Captured Variables в пределах Thread и цикл: Код 1 for (int i = 0; i &lt; 10; i++) { new Thread(() =&gt; Console.Write(i)).Start(); } Результат 1 0223558779 Предполагается, что предлагаемое ре…
4 ответа

Как избежать захваченных переменных?

У меня проблема с foreach(var category in categories) { foreach(var word in words) { var waitCallback = new WaitCallback(state =&gt; { DoSomething(word, category); }); ThreadPool.QueueUserWorkItem(waitCallback); } } Когда DoSomething выполняется, он…
19 апр '11 в 13:33
4 ответа

Перехватить переменную в EventHandler

Я мог бы немного обдумать этот вопрос, но я мог бы использовать некоторую помощь в определении способа / наилучшего способа сделать следующее. У меня есть обработчик событий, который присоединен к объекту, который является свойством другого класса. …
08 дек '10 в 23:14
1 ответ

Захваченные переменные... Что на самом деле означает "Захваченный"?

В "Перехваченных переменных" как фиксируется переменная? Что означает этот термин "захваченный"? Означает ли это ссылку на тип значения без вовлечения бокса? Спасибо
19 окт '12 в 05:48
0 ответов

Две перегрузки метода, асинхронный и синхронизирующий лямбда-параметры, одна реализация, без захваченных аргументов. Является ли это возможным?

У меня есть метод, который принимает параметр лямбда и многократно вызывает эту лямбду несколько раз с задержкой. И метод, и лямбда асинхронны: static async Task LoopAsync(Func&lt;int, Task&gt; action, int start, int count, int delayMsec) { for (int…
1 ответ

Имеет ли тело ContinueWith() шанс быть вызванным до того, как ContinueWith() вернет связанную задачу?

У меня есть синхронизированный список задач, предназначенный для мониторинга. Я хочу постепенно удалять выполненные задачи из списка. Для этого я решил использовать задачи продолжения следующим образом: //remove createdTask from list on termination …