Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,15 @@
using System;
using System.Linq;
class Program
{
static void Main()
{
var captor = (Func<int, Func<int>>)(number => () => number * number);
var functions = Enumerable.Range(0, 10).Select(captor);
foreach (var function in functions.Take(9))
{
Console.WriteLine(function());
}
}
}

View file

@ -0,0 +1,9 @@
0
1
4
9
16
25
36
49
64

View file

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
class Program
{
static void Main( string[] args )
{
List<Func<int>> l = new List<Func<int>>();
for ( int i = 0; i < 10; ++i )
{
// This is key to avoiding the closure trap, because
// the anonymous delegate captures a reference to
// outer variables, not their value. So we create 10
// variables, and each created anonymous delegate
// has references to that variable, not the loop variable
var captured_val = i;
l.Add( delegate() { return captured_val * captured_val; } );
}
l.ForEach( delegate( Func<int> f ) { Console.WriteLine( f() ); } );
}
}

View file

@ -0,0 +1,9 @@
0
1
4
9
16
25
36
49
64