Skip to content

Instantly share code, notes, and snippets.

@ChrisMissal
Created June 28, 2012 17:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ChrisMissal/3012796 to your computer and use it in GitHub Desktop.
Save ChrisMissal/3012796 to your computer and use it in GitHub Desktop.
IL from two different GetFirstDirectoryFrom methods
GetFirstDirectoryFrom2:
IL_0000: ldarg.1
IL_0001: ldsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate2
IL_0006: brtrue.s IL_0019
IL_0008: ldnull
IL_0009: ldftn UserQuery.<GetFirstDirectoryFrom2>b__0
IL_000F: newobj System.Func<System.String,System.IO.DirectoryInfo>..ctor
IL_0014: stsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate2
IL_0019: ldsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate2
IL_001E: call System.Linq.Enumerable.Select
IL_0023: ldsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate3
IL_0028: brtrue.s IL_003B
IL_002A: ldnull
IL_002B: ldftn UserQuery.<GetFirstDirectoryFrom2>b__1
IL_0031: newobj System.Func<System.IO.DirectoryInfo,System.Boolean>..ctor
IL_0036: stsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate3
IL_003B: ldsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate3
IL_0040: call System.Linq.Enumerable.Where
IL_0045: call System.Linq.Enumerable.FirstOrDefault
IL_004A: ret
GetFirstDirectoryFrom3:
IL_0000: ldarg.1
IL_0001: ldsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate6
IL_0006: brtrue.s IL_0019
IL_0008: ldnull
IL_0009: ldftn UserQuery.<GetFirstDirectoryFrom3>b__4
IL_000F: newobj System.Func<System.String,System.IO.DirectoryInfo>..ctor
IL_0014: stsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate6
IL_0019: ldsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate6
IL_001E: call System.Linq.Enumerable.Select
IL_0023: ldsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate7
IL_0028: brtrue.s IL_003B
IL_002A: ldnull
IL_002B: ldftn UserQuery.<GetFirstDirectoryFrom3>b__5
IL_0031: newobj System.Func<System.IO.DirectoryInfo,System.Boolean>..ctor
IL_0036: stsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate7
IL_003B: ldsfld UserQuery.CS$<>9__CachedAnonymousMethodDelegate7
IL_0040: call System.Linq.Enumerable.SkipWhile
IL_0045: call System.Linq.Enumerable.FirstOrDefault
IL_004A: ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment