Inspired by JavaScript Closures I tried to Simulate Local static variables in C# using Func<> Delegate... Here is my code..
public Func<int> Increment()
{
int num = 0;
return new Func<int>(() =>
{
return ++num;
});
}
Func<int> inc = Increment();
Console.WriteLine(inc());//Prints 1
Console.WriteLine(inc());//Prints 2
Console.WriteLine(inc());//Prints 3
I am eager to know if there is any other way of simulating local static variable in C#? Thank You.