Je ne comprends toujours pas ce que fermeture est donc j'ai posté ces deux exemples et je veux savoir si ces exemples sont à la fois des fermetures ou non?Ces exemples sont-ils des fermetures C#?
Exemple A:
List<DirectoryInfo> subFolders = new List<DirectoryInfo>();
Action<string> FilterSubFoldersStartA =
s => subFolders.
AddRange((new DirectoryInfo(s)).GetDirectories().
Where(d => d.Name.StartsWith("A")));
FilterSubFoldersStartA(@"c:\tempa");
FilterSubFoldersStartA(@"c:\tempb");
Exemple B:
List<DirectoryInfo> subFolders = new List<DirectoryInfo>();
string filter = "A";
Action<string> FilterSubFoldersStartGen =
s => subFolders.
AddRange((new DirectoryInfo(s)).GetDirectories().
Where(d => d.Name.StartsWith(filter)));
FilterSubFoldersStartGen(@"c:\tempa");
filter = "B";
FilterSubFoldersStartGen(@"c:\tempb");
Le premier exemple se ferme sur 'subFolders', donc c'est aussi une fermeture. –
Ah oui, je n'ai même pas remarqué le premier lambda. Je viens de voir le 'd => ...' un. Tu as raison. Le premier se referme sur 'subFolders', et dans le second cas, le second lambda se referme sur' filter'. – jalf