Questions tagged [captured-variable]
13 questions
                    
                    280
                    
            votes
                
                10 answers
            
        Captured variable in a loop in C#
I met an interesting issue about C#. I have code like below.
List> actions = new List>();
int variable = 0;
while (variable < 5)
{
    actions.Add(() => variable * 2);
    ++ variable;
}
foreach (var act in actions)
{
   …  
         
    
    
        Morgan Cheng
        
- 73,950
- 66
- 171
- 230
                    7
                    
            votes
                
                4 answers
            
        How to avoid captured variables?
I'm having a problem with
foreach(var category in categories)
{
    foreach(var word in words)
    {
        var waitCallback = new WaitCallback(state =>
        {
            DoSomething(word, category);
        });
       …
         
    
    
        Jader Dias
        
- 88,211
- 155
- 421
- 625
                    5
                    
            votes
                
                1 answer
            
        Captured variables in ParameterizedThreadStart
I have the following code that creates 10 threads which in turn write out messages to the console:
for (int i = 0; i < 10; i++)
{
    {
        Thread thread = new Thread((threadNumber) =>
            {
                for (int j = 0; j < 10; j++)
 …
         
    
    
        Maverick
        
- 75
- 7
                    5
                    
            votes
                
                1 answer
            
        Captured Variables... What does that 'Captured' stands for actually?
In "Captured Variables" how a variable is captured? 
What does that 'Captured' term stands for actually?
Does it mean referencing a value type without getting the boxing involved?
Thanks
         
    
    
        pencilCake
        
- 51,323
- 85
- 226
- 363
                    3
                    
            votes
                
                1 answer
            
        Swift capture value with same name
In a closure can we use the same name somehow inside as well as a value that is captured by the closure.
func load(withResource resource: Resource) {
    var data: A?
    var error: Error?
    load(resource: resource) { (result, error) in
       …
         
    
    
        richy
        
- 2,716
- 1
- 33
- 42
                    2
                    
            votes
                
                1 answer
            
        Combine two regex groups into a key/value pair object?
Let's say that I have the following string
Type="Category" Position="Top" Child="3" ABC="XYZ"....
And 2 regex groups: Key and Value
Key: "Type", "Position", "Child",...
Value: "Category", "Top", "3",...
How can we combine these 2 captured groups…
         
    
    
        ByulTaeng
        
- 1,269
- 1
- 21
- 40
                    2
                    
            votes
                
                1 answer
            
        Where is stored captured variable in Java?
I'm trying to understand concept of captured variable in Java.
I found quite detailed article about it: http://www.devcodenote.com/2015/04/variable-capture-in-java.html
and I'm not sure about bytecode part:
Similarly, for accessing local variables…
         
    
    
        Pronto Violetas
        
- 43
- 5
                    2
                    
            votes
                
                1 answer
            
        Captured variables in a thread in a loop in C#, what is the solution?
I came across this example that demonstrates the case of Captured Variables within a Thread and a loop :
Code 1
for (int i = 0; i < 10; i++)
{
   new Thread(() => Console.Write(i)).Start();
}
Result 1
0223558779
The suggested solution is said to be…
         
    
    
        AymenDaoudi
        
- 7,811
- 9
- 52
- 84
                    1
                    
            vote
                
                3 answers
            
        Captured variable instantiating problem
I'm currently musing about some idea I can't get right.
The problem is that I want to use one lambda function to instantiate a captured variable and another lambda to access a property of that variable.
Since the instantiating happens within the…
         
    
    
        VVS
        
- 19,405
- 5
- 46
- 65
                    1
                    
            vote
                
                4 answers
            
        Capture Variable Into An EventHandler
I might be overthinking this one a little but I could use some help in identifying a way/the best way to do the following.
I have an event handler that is attached to an object that is a property of another class.  In my event handler I need…
         
    
    
        Craig Suchanec
        
- 10,474
- 3
- 31
- 39
                    0
                    
            votes
                
                0 answers
            
        Why can't I see captured variable behavior here?
I encountered this strange behavior with captured variables. Below are two loops. I would expect both to behave the same. Why it behaves differently?
        private static void Loop1()
    {
        var actions = new List();
        foreach… 
         
    
    
        Hunter
        
- 2,370
- 2
- 20
- 24
                    0
                    
            votes
                
                3 answers
            
        How to compute rank of IEnumerable and store it in type T 
        I want to compute rank of element in an IEnumerable list and assign it to the member. But below code works only when called 1st time. 2nd time call starts from last rank value. So instead of output 012 and 012, I'm getting 012 and 345
    class…
         
    
    
        Ankush
        
- 2,454
- 2
- 21
- 27
                    -1
                    
            votes
                
                1 answer
            
        Two method overloads, async and sync lambda parameter, one implementation, no captured arguments. Is it possible?
I have a method LoopAsync that takes a lambda parameter, and invokes this lambda repeatedly a number of times with a delay. Both the method and the lambda are asynchronous:
static async Task LoopAsync(Func action,
    int start, int… 
         
    
    
        Theodor Zoulias
        
- 34,835
- 7
- 69
- 104