对int array进行排序

今天再学习一些C#的基础知识,如对 Int Array进行排序:

你可以在控制台应用程序中,创建一个类别,它属性和2个构造函数:

 

 class Af
    {
        private int[] myVar;

        public int[] MyIntArray
        {
            get { return myVar; }
            set { myVar = value; }
        }

        public Af()
        {

        }

        public Af(int[] arr)
        {
            this.myVar = arr;
        }
        
    }
Source Code

 

接下来,我在这个类别中,添加我们处理数据的方法:
如我们需要在屏幕中输出的结果:



 private void Output(int[] sortResult)
        {
            foreach (var i in sortResult)
            {
                Console.WriteLine(i);
            }
        }

        private void Output(IOrderedEnumerable<int> sortResult)
        {
            foreach (var i in sortResult)
            {
                Console.WriteLine(i);
            }
        }
Source Code


数组排序,我们可以使用Sort()方法来进行:


 public void SortAsc()
        {
            Array.Sort(myVar);
            Output(myVar);
        }
Source Code

 

现在,我们可以到控制台进行测试上面所写的代码:


如果我们需要倒序排列输出呢?你可以使用Reverse()方法,也就是说,先进行Sort()之后,再使用Reverse()方法来反序一下:

 public void SortDesc()
        {
            Array.Sort(myVar);
            Array.Reverse(myVar);
            Output(myVar);
        }
Source Code

 
此时,我们再去控制台看看代码写得怎样:



写到这里,原本功能已经实现了,但是Insus.NET在这里,想使用另外的方法来实现此相同的功能:


 public void ArrayOrderBy()
        {
            var result = myVar.OrderBy(g => g);
            Output(result);
        }

        public void ArrayOrderByDescending()
        {
            var result = myVar.OrderByDescending(g => g);
            Output(result);
        }
Source Code

 

运行结果:

 

posted @ 2017-12-06 23:54  Insus.NET  阅读(468)  评论(0编辑  收藏  举报