网站备案 新增接入如何开网店0基础教程
web/
2025/10/1 0:05:32/
文章来源:
网站备案 新增接入,如何开网店0基础教程,整站seo教程,网站制作素材代码排序是我们编程时的常用操作#xff0c;实现方式也有很多种#xff0c;本篇文章列举几种我常用的用法#xff0c;希望对大家有用#xff01;
01
数组排序
最常见的排序是对一个数组排序#xff0c;比如#xff1a; int[] aArray new int[8] { 18, 17, 21, 23, 11, 31… 排序是我们编程时的常用操作实现方式也有很多种本篇文章列举几种我常用的用法希望对大家有用
01
数组排序
最常见的排序是对一个数组排序比如 int[] aArray new int[8] { 18, 17, 21, 23, 11, 31, 27, 38 }; 第一种我们最熟悉的冒泡排序法即每个值都和它后面的数值比较每次拿出最小值
static void Main(string[] args) { int[] aArray new int[8] { 18, 17, 21, 23, 11, 31, 27, 38 }; for (int j 0; j aArray.Length - 1; j) { for (int i 0; i aArray.Length - 1; i) { if (aArray[i] aArray[i 1]) { int temp aArray[i]; aArray[i] aArray[i 1]; aArray[i 1] temp; }} } foreach (var a in aArray) { Console.Write(${a} ); } Console.ReadKey(); }
运行结果 第二种利用Array.Sort排序
① 升序排列 static void Main(string[] args) { int[] aArray new int[8] { 18, 17, 21, 23, 11, 31, 27, 38 }; Array.Sort(aArray);foreach (var a in aArray) { Console.Write(${a} ); } Console.ReadKey(); } 运行结果 ② 降序排列先升序排列然后对数组反转 static void Main(string[] args) { int[] aArray new int[8] { 18, 17, 21, 23, 11, 31, 27, 38 }; Array.Sort(aArray); Array.Reverse(aArray);foreach (var a in aArray) { Console.Write(${a} ); } Console.ReadKey(); } 运行结果 02
List排序
大多数时候我们需要将list集合里面的数据进行排序
① 如果list直接放置的数值类型的数据就比较简单比如
Listint aList new Listint { 18, 17, 21, 23, 11, 31, 27, 38 };
方法一利用ListT 自带的Sort排序方法
-. 升序排列 aList.Sort();
降序排列 aList.Sort(); aList.Reverse();
-. sort也可以用如下方式操作
list.Sort((a, b) a.CompareTo(b));//升序list.Sort((a, b) b.CompareTo(a));//降序
方法二利用List的OrderBy与OrderByDescending方法
升序排列 Listint aList new Listint { 18, 17, 21, 23, 11, 31, 27, 38 }; aList aList.OrderBy(a a).ToList();
降序排列 Listint aList new Listint { 18, 17, 21, 23, 11, 31, 27, 38 }; aList aList.OrderByDescending(a a).ToList();
方法三利用link这种感觉和方法二是一回事 Listint aList new Listint { 18, 17, 21, 23, 11, 31, 27, 38 }; aList (from a in aList orderby a ascending select a).ToList();//升序 aList (from a in aList orderby a descending select a).ToList();//降序
②如果list存放的是一个类型比如
方法一 一个集合存放学生的信息按照学生的成绩升序排列这里列举了2种方法方法一注释了 static void Main(string[] args) { ListStudent stuList new ListStudent { new Student() {name zyr, age 23, score 99}, new Student() {name zls, age 25, score 95}, new Student() {name zsq, age 27, score 100}, new Student() {name zlw, age 15, score 69}, new Student() {name ywe, age 17, score 72}, new Student() {name asw, age 29, score 58} };//方法1 升序 //stuList.Sort((x, y) x.score.CompareTo(y.score)); //方法2 升序 stuList stuList.OrderBy(stustu.score).ToList();foreach (var stu in stuList) { Console.WriteLine(${stu}); } Console.ReadKey(); }public class Student { public string name { get; set; } public int age { get; set; } public int score { get; set; }public override string ToString() { return $姓名是{name},年龄是{age},得分是{score}; } } 方法二 加入这个学生成绩有重复的对于重复的成绩按照年龄再排序这里列举了2种方法方法一注释了 static void Main(string[] args) { ListStudent stuList new ListStudent { new Student() {name zyr, age 23, score 99}, new Student() {name zls, age 25, score 95}, new Student() {name zls, age 22, score 95}, new Student() {name zsq, age 27, score 100}, new Student() {name zlw, age 15, score 69}, new Student() {name ywe, age 17, score 72}, new Student() {name asw, age 29, score 58}, new Student() {name ywe, age 18, score 72}, new Student() {name zsq, age 16, score 100}, };//方法1 升序 //stuList.Sort((x, y) //{ // int ret x.score.CompareTo(y.score); // if (ret 0) // { // return x.age.CompareTo(y.age); // } // else // { // return ret; // } //}); //方法2 升序 //stuList stuList.OrderBy(stustu.score).ThenBy(stu stu.age).ToList();foreach (var stu in stuList) { Console.WriteLine(${stu}); } Console.ReadKey(); }public class Student { public string name { get; set; } public int age { get; set; } public int score { get; set; }public override string ToString() { return $姓名是{name},年龄是{age},得分是{score}; } }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84728.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!