当前位置: 首页 > wzjs >正文

北仑网站推广网络营销推广的特点

北仑网站推广,网络营销推广的特点,莱芜户型优化培训班,android开发教程网站C#知识&#xff1a;List排序 默认排序往往不够用&#xff0c;学会自定义排序很重要。 1、默认排序 只有少数类型能用&#xff0c;例如值类型int、float&#xff0c;double等默认升序 //系统自带排序 List<int> list new(); list.Add(5); list.Add(8); list.Add(1); li…

C#知识:List排序

默认排序往往不够用,学会自定义排序很重要。


1、默认排序

  • 只有少数类型能用,例如值类型int、float,double等
  • 默认升序
//系统自带排序
List<int> list = new();
list.Add(5);
list.Add(8);
list.Add(1);
list.Add(6);
list.Add(2);
Print<int>(list);   //5 8 1 6 2
//系统默认排序方法,默认升序
list.Sort();
Print<int>(list);   //1 2 5 6 8

2、实现IComparable接口

  • 重写CompareTo方法,实现排序逻辑
class Equipment:IComparable<Equipment>
{public string equipmentName;public int damage;public float price;public Equipment(string equipmentName, int damage, float price){this.equipmentName = equipmentName;this.damage = damage;this.price = price;}public int CompareTo(Equipment? other){if(this.price > other.price)return -1;else if(this.price < other.price)return 1;return 0;}public override string ToString(){return $" 【名称:{equipmentName}, 伤害:{damage}, 价格:{price}】";}
}
List<Equipment> equipments = new List<Equipment>();
equipments.Add(new Equipment("猎犬长牙", 58, 100));
equipments.Add(new Equipment("碎星大剑", 120, 500));
equipments.Add(new Equipment("陨石杖", 60, 300));
equipments.Add(new Equipment("黄铜盾", 0, 200));
//以实现接口方式:价格降序排序
equipments.Sort();  //不实现接口直接排序会报错Unhandled exception. System.InvalidOperationException: Failed to compare two elements in the array.
Print<Equipment>(equipments);//【名称:碎星大剑, 伤害:120, 价格:500】  【名称:陨石杖, 伤害:60, 价格:300】  【名称:黄铜盾, 伤害:0, 价格:200】  【名称:猎犬长牙, 伤害:58, 价格:100】

3、传递委托函数

  • 直接Sort方法传入委托函数参数
//Sort传入委托函数
//伤害升序
equipments.Sort((a, b) =>
{if (a.damage > b.damage)return 1;else if (a.damage < b.damage)return -1;return 0;
});
Print<Equipment>(equipments);//【名称:黄铜盾, 伤害:0, 价格:200】  【名称:猎犬长牙, 伤害:58, 价格:100】  【名称:陨石杖, 伤害:60, 价格:300】  【名称:碎星大剑, 伤害:120, 价格:500】

4、完整代码示例

namespace LearnListSort
{class Equipment:IComparable<Equipment>{public string equipmentName;public int damage;public float price;public Equipment(string equipmentName, int damage, float price){this.equipmentName = equipmentName;this.damage = damage;this.price = price;}public int CompareTo(Equipment? other){if(this.price > other.price)return -1;else if(this.price < other.price)return 1;return 0;}public override string ToString(){return $" 【名称:{equipmentName}, 伤害:{damage}, 价格:{price}】";}}internal class Program{static void Print<T>(List<T> list){foreach (T item in list){Console.Write(item.ToString() + " ");}Console.WriteLine();}static void Main(string[] args){//系统自带排序List<int> list = new();list.Add(5);list.Add(8);list.Add(1);list.Add(6);list.Add(2);Print<int>(list);   //5 8 1 6 2//系统默认排序方法,默认升序list.Sort();Print<int>(list);   //1 2 5 6 8List<Equipment> equipments = new List<Equipment>();equipments.Add(new Equipment("猎犬长牙", 58, 100));equipments.Add(new Equipment("碎星大剑", 120, 500));equipments.Add(new Equipment("陨石杖", 60, 300));equipments.Add(new Equipment("黄铜盾", 0, 200));//以实现接口方式:价格降序排序equipments.Sort();  //不实现接口直接排序会报错Unhandled exception. System.InvalidOperationException: Failed to compare two elements in the array.Print<Equipment>(equipments);//【名称:碎星大剑, 伤害:120, 价格:500】  【名称:陨石杖, 伤害:60, 价格:300】  【名称:黄铜盾, 伤害:0, 价格:200】  【名称:猎犬长牙, 伤害:58, 价格:100】//Sort传入委托函数//伤害升序equipments.Sort((a, b) =>{if (a.damage > b.damage)return 1;else if (a.damage < b.damage)return -1;return 0;});Print<Equipment>(equipments);//【名称:黄铜盾, 伤害:0, 价格:200】  【名称:猎犬长牙, 伤害:58, 价格:100】  【名称:陨石杖, 伤害:60, 价格:300】  【名称:碎星大剑, 伤害:120, 价格:500】}}
}

5、参考资料

  1. 《唐老狮C#》

本文结束,感谢您的阅读~

在这里插入图片描述

http://www.dtcms.com/wzjs/101064.html

相关文章:

  • 延安做网站的公司电话seo排名工具哪个好
  • 织梦模板下载商城网站模板(高端大气上档次:带数据)快速排名工具免费
  • 攀枝花建设工程质量监督站投诉网站海南网站建设
  • 国外免费注册域名的网站怎么知道自己的域名
  • 网店代运营网站怎么进入百度推广账户
  • 网站 做 专家问答最常见企业网站有哪些
  • 莱西做网站搜外
  • wordpress 4.7.5企业站seo外包
  • 宜黄住房和城乡建设部网站如何建立一个网站平台
  • 专业网站建设推荐职业技能培训中心
  • vue 做企业网站行不美食软文300字
  • 智慧景区网站建设免费学生网页制作成品
  • 建网站做日租房燕郊今日头条
  • 做外贸主要在那些网站找单郑州推广优化公司
  • 核酸二维码seo搜索优化推广
  • 网站域名如何从代理商那里转出来自媒体引流推广
  • 网站建设分析书引言国外搜索引擎排名
  • 新媒体 网站建设推广策划
  • flash 网站 源码市场营销策划书范文5篇精选
  • wordpress付费插件网站seo推广排名平台有哪些
  • 广州正规网站建设有哪些互联网广告推广公司
  • 邢台seo网站制作网站关键词排名外包
  • 兰州网站开发在哪里百度app下载官方免费下载安装
  • 成都网站建设科技公北京网站制作设计
  • 有什么好的网站设计思想的博客谷歌广告联盟官网
  • 做五金外贸哪个网站比较好深圳的seo网站排名优化
  • b2b电子商务网站归类搜索自媒体平台
  • 网站的栏目设计怎么做电脑培训班有哪些科目
  • 做旅游网站选什么空间河北百度seo关键词
  • 做好宣传信息网推广工作网站关键词排名优化工具