C#List能按照List中的对象某个属性排序

C#List按照某个对象里面的属性字段排序 List按照某个字段排序 /// <summary> /// 按照某个字段排序 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="list"></param> /// <param name="sortfield">需要排序的字段</param> 阅读详情

用List泛型存储了自定义的结构体,现需要根据结构体的一个成员进行排序。在论坛看到了类似的示例,并参照成功解决了问题,在此备注下,希望能帮到更多的人。

public class Book
    {
        public Book(string inname, string inauthor, string inpublisher, int inprice)
        {
            this.Name = inname;
            this.Author = inauthor;
            this.Publisher = inpublisher;
            this.Price = inprice;
        }

        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private string author;

        public string Author
        {
            get { return author; }
            set { author = value; }
        }
        private string publisher;

        public string Publisher
        {
            get { return publisher; }
            set { publisher = value; }
        }
        private int price;

        public int Price
        {
            get { return price; }
            set { price = value; }
        }
    }

//比较器类

public class Icp:IComparer<Book>
    {
        //按书名排序
        public int Compare(Book x, Book y)
        {
            return x.Name.CompareTo(y.Name);
        }
    }

    public class IcpPrice : IComparer<Book>
    {
        //按价格排序
        public int Compare(Book x, Book y)
        {
            return x.Price.CompareTo(y.Price);
        }
    }

//main方法

static void Main(string[] args)
        {
            List<Book> list = new List<Book>();
            Book b1, b2, b3, b4;
            b1 = new Book("《绝代双骄》", "古龙", "中国长安出版社", 50);
            b2 = new Book("《鹿鼎记》", "金庸", "人民文学出版社", 120);
            b3 = new Book("《三国演义》", "罗贯中", "中州古籍出版社", 200);
            b4 = new Book("《西游记》", "吴承恩", "晨光出版社", 80);
            list.Add(b1);
            list.Add(b2);
            list.Add(b3);
            list.Add(b4);

            //按书名升序
            Console.WriteLine("/////////////按书名升序/////////////");
            list.Sort(new Icp());
            foreach(Book book in list)
            {
                Console.WriteLine(book.Name+book.Author+book.Publisher+book.Price);
            }
            Console.WriteLine("////////////////////////////////////");

            //按价格降序序
            Console.WriteLine("/////////////按书名升序/////////////");
            list.Sort(new IcpPrice());
            
            foreach (Book book in list)
            {
                Console.WriteLine(book.Name + book.Author + book.Publisher + book.Price);
            }
            Console.WriteLine("////////////////////////////////////");

            Console.Read();
        }
        

————————————————
版权声明:本文为优快云博主「召唤师峡谷」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/giser_whu/article/details/38761025

C# 修改list所有对象中的某字段 C# 修改list所有对象中的某字段 博客地址:https://blog.youkuaiyun.com/qq_36051316/article/details/83475372 的案例 立即下载

相关推荐

2024 年高教社杯全国大学生数学建模竞赛题目【A/B/C/D/E题】完整论文+代码+结果

2024国赛A题参考论文。2024国赛D题参考论文。2024国赛E题参考论文。2024国赛B题参考论文。2024国赛C题参考论文。

qq_52590045的博客 5356

c#中list的增删改查

class Program { //创建一个List对象 static List list = new List(); //增 //给List增加值 static void IntList(List list) { list.Clear();//清空list list.Add(1);//给list赋值 list.Add(2); list.Add(3); } //改 //给List修改值 定义两个参数 第一个是需要修改的数据的下标 第二个是修改的值 static void SatList(int index,

Andaxiaer的博客 3767

天地图Api4.0.怎么根据geojson的数据。把一个省的所有市区标记色块和文字

天地图

肖肖肖丽珠的博客 1513

C# LIST的几个常用方法

1、改变list中某个元素的值 public class tb_SensorRecordModel { public int ID { get; set; } public decimal Value1 { get; set; } } List<tb_SensorRecordModel> list = new List<tb_SensorRecordModel>(); li...

WEIZH84的博客 2975

处理SAP资产折旧AFAB 过账报错:“科目 8019010100 要求一个成本会计分配”

本文介绍如何处理资产折旧报错 ““科目XXXXXXX 要求一个成本会计分配””

IT小职员 2775

CCS软件仿真插件移植避坑指南:从CCS5.5到7.4的完整流程

本文详细介绍了将CCS软件仿真插件从CCS5.5迁移至CCS7.4的完整流程与避坑指南。针对TMS320F28335等C2000系列芯片,重点解析了仿真核心文件、配置数据库、连接定义及驱动文件的移植步骤,并通过两个实战Demo验证了移植后仿真环境的可用性,帮助开发者在无硬件条件下继续高效进行算法验证与调试。

defi6farmer的博客 456

List中改变一个对象的值,其他的List值也跟着改变

​List中改变一个对象的值,其他的List值也跟着改变 BeanUtils.clonebean()克隆对象 List的clone()方法 浅拷贝深拷贝

w13966597931的博客 4458

【企业智能体开发】优化模型成本、延迟与失败降级

小林的培训快开始时,服务台花很久“思考最优回答”,体验并不会更好。反过来,为了省钱而始终选最轻的模型,若连房间、连接方式和任务状态都识别不稳,后续错误检索和重复建单会造成更大代价。企业 Agent 的优化对象不是单次模型调用价格,而是任务在可接受时间内、安全地推进到正确结果的总成本。

Mr数据杨 893

C# List排序简介及四种方法介绍-附代码

有时用户需要按某项排序,但是查询结果以List格式存储,我们当然可以自己编写一个快速排序的方法进行排序,但是还有多个选择,并且可能比你写的短、效率也不差,那不如在恰当的时候选择其他方法对List进行排序。c#的一大特色就是Linq,他遍布c#里里外外,利用他可以减少大量的代码,不过他是从SQL中出来的,所以SQL还是了解之后,这个就好懂了。方法一: List的OrderBy与OrderByDescending方法。方法二:使用Sort方法,方法四:使用Linq。

weixin_45499836的博客 2万+

AI 大模型应用数据中心的数据清洗工具

1. 背景介绍 在人工智能大模型应用的浪潮中,数据清洗作为数据预处理的重要环节,对于提升模型性能和可靠性具有至关重要的作用。数据中心作为人工智能模型的运行环境,面临着海量数据流和多样化的数据类型,如何高效、准确地进行数据清洗,成为应用大模型的关键问题之一。本文将详细介绍AI大模型应用数据中心的数据清洗工具,包括核心概念、算法原理、具体操作步骤、应用场

SuperAGI2025 1804

PyCharm 配置 Anaconda 环境时找不到 python.exe 的解决办法

通过本文的排查步骤与详细解决方案,你应该能够迅速定位并修复 PyCharm 配置 Anaconda 环境时找不到 python.exe 的问题。确保正确设置环境路径、激活目标环境以及手动指定解释器路径是解决此问题的关键。随着开发工具与包管理器的不断更新,类似的问题可能会出现新的变体。持续关注官方文档、社区讨论和版本更新,可以帮助开发者及时适应新变化,并优化工作流程。希望本文提供的分析和代码示例能为你的开发环境配置带来帮助,让你在 PyCharm 与 Anaconda 的高效协同下,专注于创新与代码实现。

s13596191285的博客 3117

C#list自定义排序

C# List自定义排序 List类型数据可以借助Lambda表达式来进行自定义排序。 如List<double[]>类型数据,需要按照double数组的第i个数据进行排序,代码如下: List<double[]> listData = new List<double[]>(); listData = listData.OrderBy(t => t[i]).ToList();//升序 listData = listData.OrderByDescending(t =

KIIOU的博客 1362

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

C#List集合实现对对象自定义排序

List排序 List集合对数字或者字母排序可能并不难,不够要是对象排序,就要考虑用对象的哪个字段进行排序。list提供了一个Sort()方法,List已经可以对内置类型(比如:int、double、string)排序,通过对接口的实现也可以定制自己的类排序。可以通过IComparable<T>接口或者IComparer<T>接口实现。 通过IComparer&lt...

Boting的博客 1534

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

c#List集合

集合是OOP中的一个重要概念,C#中对集合的全面支持更是该语言的精华之一。 为什么要用泛型集合? 在C# 2.0之前,主要可以通过两种方式实现集合: a.使用ArrayList 直接将对象放入ArrayList,操作直观,但由于集合中的项是Object类型,因此每次使用都必须进行繁琐的类型转换。 b.使用自定义集合类 比较常见的做法是从CollectionBase抽象类继承一个自定义类,...

weixin_42339456的博客 2873

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

C# List按照对象属性进行排序

一、这是一个实体类和一个比较器 class Cal { public string name; public double price; public Cal(string n,double p) { this.name = n; this.price=p; }

飞行的码农 2753

【c#编程技术总结】c#List排序补充

欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 //方法一sort排序使用lambda表达式 List<int> list = new List<int>() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; list.Sort((x, y) => -x.CompareTo(y));...

纯技术流日常开发商业开发记录总结等 3719

C#List类排序其中某个属性

用OrderBy方法对一个类的某个属性进行排序,你可以使用LINQ语言。

weixin_56125200的博客 689

C#List 排序

publicclassBook { privatestringname; publicstringName { get{returnname;} set{name=value;} } ...

weixin_30883777的博客 1193

C#List Sort多字段排序

多字段排序的问题其实很简单,只要实现一个自己的Comparator就可以。  例如我有一个类 class Student {   public String name;   public int id;   public char gender;   public Student(String name, int id, char gender){      this.name =

rztyfx的专栏 1万+

C#List根据时间排序并且去除重复值

public class DateDto { public int Id { get; set; } public string BId { get; set; } public string Name { get; set; } public DateTime CreateTime { get; set; } } 对这个类中的Cretetime进行排序,并且保留最新添加进来的值,首先要写一个自定义的类 public class PeopleAgeComparer :.

qq_40098572的博客 3495

C#List排序sort

升序降序比较 sort有三种结果 1,-1,0分别是大,小,相等。 默认List的排序是升序排序 如果要降序排序,也很简单,只需要在前面加一个负号 List<int> tmp = new List<int>(){5,1,22,11,4}; tmp.Sort((x, y) => -x.CompareTo(y)); Console.WriteLine(tmp); //22,11,5,4,1 对于非数值类型比较用.CompareTo(…),基于IComparable接口。基本上C#

kuilaurence的博客 1072

C# List 根据对象属性排序

List<Stu> stuList = new List<IEnumable.Stu>{ new Stu {id=1,name="jun",age=21 }, new Stu {id=2,name="hong",age=25 }, ...

清风专栏 3765

C#List的排序和自定义类的排序

List排序自定义类的排序使用接口使用委托lambda表达式 完整代码

乌托托的博客 1286

C#List混装存储子类和父类对象并进行排序操作

不同的子类在List中是能够正常存储的,但是在存储时都需要以父类型存储进去,即List的类型为父类,而Add()中的类型可以声明为实际使用的类型: ` Prop newProp = new ChildProp(); newProp = prop; //prop为需要add的参数,并且已知prop为子类型ChildProp转换而来 ...

JousonRen的博客 3365

c#中List排序

一、背景   有时用户需要按某项排序,但是查询结果以List格式存储,我们当然可以自己编写一个快速排序的方法进行排序,但是还有多个选择,并且可能比你写的短、效率也不差,那不如在恰当的时候选择其他方法对List进行排序 二、方法   第一种: List的OrderBy与OrderByDescending方法   个人认为如果只是简单的进行排序,并且并不想影响实体类的话,这个方法是最有效的,只需一句话便可解决排序问题。其中OrderBy是升序操作、OrderByDescending是降序操作。然后在其中使用la

m0_52390420的博客 1万+
上一篇: c#--带毫秒的字符转换成时间(DateTime)格式(string毫秒转为时间类型)
下一篇: bootstrap-datetimepicker插件 设置初始值为某天
百小容是程序员
博客等级 码龄7年 1万+粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值