首页 > 编程语言 >C# List按照自定义的顺序去排序

C# List按照自定义的顺序去排序

时间:2023-04-06 16:57:01浏览次数:51  
标签:Info index Name 自定义 C# List userInfos UserInfo new

有没有遇到过产品经理说表格输出排序要按照指定的人员列表去排序?
经过一番研究搜查
发现一个方法可以实现
话不多说
上例子

 

public class UserInfo
{
    public string Name { get; set; }
    public string Info { get; set; }
}

 

List<UserInfo> userInfos = new List<UserInfo>{
    new UserInfo { Name = "张三", Info = "篮球"},new UserInfo { Name = "李四", Info = "足球"},
new UserInfo { Name = "王五", Info = "羽毛球"},new UserInfo { Name = "赵六", Info = "网球"} }; string[] nameOrder = {"李四","赵六","王五","张三"}; userInfos = userInfos.OrderBy(e => { var index = 0; index = Array.IndexOf(nameOrder, e.Name); if (index != -1) { return index; } else { return int.MaxValue; } } ).ToList(); userInfos.ForEach(p => { Console.WriteLine(string.Format("Name:{0},Info:{1}",p.Name,p.Info)); } );

 

 

标签:Info,index,Name,自定义,C#,List,userInfos,UserInfo,new
From: https://www.cnblogs.com/bbbbzai/p/17293320.html

相关文章

  • vue3 watch 监听 flush post 作用?
    副作用刷新时机Vue的响应性系统会缓存副作用函数,并异步地刷新它们,这样可以避免同一个“tick”中多个状态改变导致的不必要的重复调用。同一个“tick”的意思是,Vue的内部机制会以最科学的计算规则将视图刷新请求合并成一个一个的"tick",每个“tick”刷新一次视图,比如a=1;b=2;只会......
  • C#高级--反射详解
    原文:C#高级--反射详解_c#反射_李宥小哥的博客-CSDN博客C#高级–反射详解零、文章目录一、反射是什么1、C#编译运行过程高级语言->编译->dll/exe文件->CLR/JIT->机器码 2、原理解析metadata:元数据数据清单,记录了dll中包含了哪些东西,是一个描述。IL:中间语言,编译把高级语言编译......
  • AI智慧工地视频融合平台EasyCVR视频调阅模块一键播放功能优化
    EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海康SDK、大华SDK等(具体见下图),能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流,在视频能力上,具备视频实时监控、视频录像、云存储、......
  • 痞子衡嵌入式:利用i.MXRT1xxx系列ROM集成的DCD功能可轻松配置指定外设
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是利用i.MXRT1xxx系列ROM集成的DCD功能可轻松配置指定外设。关于i.MXRT1xxx系列芯片BootROM中集成的DCD功能这个话题,痞子衡早就想写了,但是一直没有动笔,毕竟这个话题比较生涩,单独讲会比较枯燥。最近痞......
  • vue.config.js 配置
    const{defineConfig}=require('@vue/cli-service')  //按需引入  //constAutoImport=require('');constAutoImport=require('unplugin-auto-import/webpack')constComponents=require('unplugin-vue-components/webpac......
  • Mac应用程序无法打开提示不明开发者或文件损坏的处理方法
     在安装Mac电脑应用程序的时候,经常会遇到“xxx.app已损坏,打不开。您应该将它移到废纸篓“或”打不开的xxx.app,因为它来自身份不明的开发者”,如图:   遇到上述情况是不是真的要移动到废纸篓呢?下面小编就为您带来Mac应用程序无法打开提示不明开发者或文件损坏的处理方法,解......
  • PAT Basic 1072. 开学寄语
    PATBasic1072.开学寄语1.题目描述:下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的......
  • 重磅!Cloud Ace 在巴西圣保罗建立第一家南美子公司
    CloudAce,Inc.(总部:东京都千代田区,代表:青木诚,以下简称CloudAce)于2023年3月10日宣布在巴西成立新子公司。CloudAce一直在全球扩展其业务,从亚洲开始,目标是在世界各地设有办事处。我们最近加入的是在南美最大经济体巴西的新子公司。巴西近期创业投资超过1万亿日元,诞生了11家......
  • c# async和await
    一直以来对async和await都有点迷糊,今天花时间在网上看了很多解释,现在把自己的理解整理下,如果有不对的地方希望大家指正。await这里有几点说明:1、只能在async修饰的函数中使用2、使用了await表明需要异步等待(就是将异步执行变为同步执行效果,与同步代码不同的是......
  • 保证高效写入查询的情况下,如何实现 CPU 资源和磁盘 IO 的最低开销?
    从《写入性能:TDengine最高达到InfluxDB的10.3倍,TimeScaleDB的6.74倍》、《查询性能:TDengine最高达到了InfluxDB的37倍、TimescaleDB的28.6倍》两篇文章中,我们发现,TDengine不仅在写入和查询性能上超越了InfluxDB和TimescaleDB,在数据处理过程的资源消耗也比两......