1、打开microsoft visual studio 2008 / visual studio tools / visual studio 2008 命令提示 ,并输入ildasm 。如下图所示:
2、按enter键,打开IL DASM 窗口,如下图所示:
3、单击 文件 / 打开,打开编译好的.exe文件,即可查看该代码的IL代码
例如:通过visual studio 2008 命令提示 查看如下源程序的IL代码。
using System;
using System.Collections.Generic;using System.Linq;using System.Text;namespace BubbleSort
{ class BubbleSort1 {//升序排序,每一趟都将最大的一个数放在最后 public static void BubbleSort(int[] items) { int i, j, temp; if (items == null) return; for (i = items.Length - 1; i >= 0; i++) for (j=1;j<=i;j++) if (items[j - 1] > items[j]) { temp = items[j - 1]; items[j - 1] = items[j]; items[j] = temp; } } }}
using System;
using System.Collections.Generic;using System.Linq;using System.Text;namespace BubbleSort
{ class BubbleSort2 { public enum SortType { Ascending, Descending } public static void BubbleSort(int[] items, SortType sortOrder) { int i, j, temp; if (items == null) return; for (i = items.Length - 1; i >= 0; i++) { for (j = 1; j <= i; j++) { switch (sortOrder) { case SortType.Ascending: if (items[j - 1] > items[j]) { temp = items[j - 1]; items[j - 1] = items[j]; items[j] = temp;}
break; case SortType.Descending: if (items[j - 1] < items[j]) { temp = items[j - 1]; items[j - 1] = items[j]; items[j] = temp; } break; }}
} } }}
using System;
using System.Collections.Generic;using System.Linq;using System.Text;namespace BubbleSort
{ public delegate bool ComparisonHandler (int first,int second);//委托类型的声明 class BubbleSort3 { public static bool GreaterThan(int first, int second) {//升序排序 return first > second; } public static bool LessThan(int first, int second) {//降序排序 return first < second; } public static bool AlphabeticalGreaterThan(int first, int second) {//按照字母表排序。a.CompareTo(b):若a>b 返回值小于0, a<b返回值大于0, //a=b返回值等于0 int comparison; comparison = (first.ToString().CompareTo(second.ToString())); return comparison > 0; } public static void BubbleSort(int[] items, ComparisonHandler comparisonMethod) { int i, j, temp; if (items == null) return; if (comparisonMethod == null) throw new ArgumentNullException("comparisonMethod"); for (i = items.Length - 1; i >= 0; i--) { for(j=1;j<=i;j++) if (comparisonMethod(items[j - 1], items[j])) { temp = items[j - 1]; items[j - 1] = items[j]; items[j] = temp; } } } }}
using System;
using System.Collections.Generic;using System.Linq;using System.Text;using BubbleSort;namespace BubbleSort
{ class Program { static void Main(string[] args) { int intcount; Console.WriteLine("请输入待排序的整数序列的个数:"); intcount = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入待排序的整数序列:"); int[] items = new int[intcount]; for (int i = 0; i < intcount; i++) { items[i]=Convert .ToInt32 ( Console.ReadLine()); }ComparisonHandler comparisonMethod = BubbleSort3.GreaterThan;
BubbleSort3.BubbleSort(items, comparisonMethod); Console.WriteLine("调用类BubbleSort3中的排序方法排序后的整数序列为:"); for(int i=0;i<intcount;i++) { Console.Write(items[i]); Console.Write(" ");}
} }}
以上程序的IL代码: