A lambda expression creates a small function inline.

lambda A lambda uses `=>` to define callable behavior in place.

Lambda Expressions

offset
LambdaExpressions.cs
Replay: real traced execution (multi-file project)
using System;

class Program
{
    static void Main()
    {
        int offset = 2;
        Func<int, int> addOffset = value => value + offset;
        int result = addOffset(10);

        Console.WriteLine($"offset={offset}");
        Console.WriteLine($"result={result}");
    }
}
using System;

class Program
{
    static void Main()
    {
        int offset = 1;
        Func<int, int> addOffset = value => value + offset;
        int result = addOffset(10);

        Console.WriteLine($"offset={offset}");
        Console.WriteLine($"result={result}");
    }
}
using System;

class Program
{
    static void Main()
    {
        int offset = 5;
        Func<int, int> addOffset = value => value + offset;
        int result = addOffset(10);

        Console.WriteLine($"offset={offset}");
        Console.WriteLine($"result={result}");
    }
}
  1. offset ← 2, addOffset ← System.Func`2[System.Int32,System.Int32]

    4{5    static void Main()6    {7        int offset→ 2 = 2; //@offset=1, 58        Func<int, int> addOffset→ System.Func`2[System.Int32,System.Int32] = value => value + offset;9        int result→ 12 = addOffset(10);1011        Console.WriteLine($"offset={offset2}");12        Console.WriteLine($"result={result12}");13    }
    outputoffset=2
    result=12
  1. offset ← 1, addOffset ← System.Func`2[System.Int32,System.Int32]

    4{5    static void Main()6    {7        int offset→ 1 = 1;8        Func<int, int> addOffset→ System.Func`2[System.Int32,System.Int32] = value => value + offset;9        int result→ 11 = addOffset(10);1011        Console.WriteLine($"offset={offset1}");12        Console.WriteLine($"result={result11}");13    }
    outputoffset=1
    result=11
  1. offset ← 5, addOffset ← System.Func`2[System.Int32,System.Int32]

    4{5    static void Main()6    {7        int offset→ 5 = 5;8        Func<int, int> addOffset→ System.Func`2[System.Int32,System.Int32] = value => value + offset;9        int result→ 15 = addOffset(10);1011        Console.WriteLine($"offset={offset5}");12        Console.WriteLine($"result={result15}");13    }
    outputoffset=5
    result=15