zoukankan      html  css  js  c++  java
  • C# 如何查看源程序的IL代码

     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代码:

  • 相关阅读:
    (5)基于协同过滤推荐算法的图书推荐研究
    (4)推荐系统评测方法和指标分析
    (3)浅析机器学习在推荐系统中的应用
    (2)协同过滤推荐算法概述 摘要
    (1)推荐系统概述 -- 摘要
    30+简约时尚的Macbook贴花
    20+非常棒的Photoshop卡通设计教程
    20+WordPress手机主题和插件【好收藏推荐】
    30+WordPress古典风格的主题-古典却不失时尚
    配置FCKeditor_2.6.3+fckeditor-java-2.4
  • 原文地址:https://www.cnblogs.com/mingxuantongxue/p/3821147.html
Copyright © 2011-2022 走看看