正文
List<object>排序 z
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
一般我們在撰寫程式時,很常會使用到List<>來裝取自定義的類別陣列,跟一般的陣列插在哪呢?!好處是什麼?!好處就是一般的陣列需要先 宣告長度,而List<>不用,所以在資料個數不一的時候我們可能比較會使用List<>來裝載資料,並且依序地呈現給使用者 看,所以List<>的排序就變得將當重要了!
本篇文章將引導您將List<object>排序。
以身高為範例,首先我們先自定義一個類別用來放在List<>中用的。
1: public class TallItem{
2: public string name { set; get; }
3: public int Height { set; get; }
4: }
再來將個別的身高資料放入List<>中
1: public void InitialTallItem() {
2: List<TallItem> list_tallItems = new List<TallItem>();
3: list_tallItems.Add(new TallItem() { name = "Tony", Height = 180 });
4: list_tallItems.Add(new TallItem() { name = "Jorden", Height = 200 });
5: list_tallItems.Add(new TallItem() { name = "Nono", Height = 155 });
6: list_tallItems.Add(new TallItem() { name = "Jessica", Height = 166 });
7: }
再來是排序
1: list_tallItems.Sort((x, y) => { return -x.Height.CompareTo(y.Height); });
所以全部大概長這樣:
1: public void InitialTallItem() {
2: List<TallItem> list_tallItems = new List<TallItem>();
3: list_tallItems.Add(new TallItem() { name = "Tony", Height = 180 });
4: list_tallItems.Add(new TallItem() { name = "Jorden", Height = 200 });
5: list_tallItems.Add(new TallItem() { name = "Nono", Height = 155 });
6: list_tallItems.Add(new TallItem() { name = "Jessica", Height = 166 });
7:
8: list_tallItems.Sort((x, y) => { return -x.Height.CompareTo(y.Height); });
9:
10: for (int i = 0; i < list_tallItems.Count; i++) {
11: Debug.WriteLine(list_tallItems[i].name + ":" + list_tallItems[i].Height);
12: }
13: }
顯示的結果會是這樣:
1: Jorden:200
2: Tony:180
3: Jessica:166
4: Nono:155
如此一來List<TallItem>就經過排序囉,並且是由高到低排序。
除此之外也可以使用Linq語法來排序,此方法有點像在下SQL資料庫的語法,也比較淺顯易懂
1: List<TallItem> list_tallItems = new List<TallItem>();
2: list_tallItems.Add(new TallItem() { name = "Tony", Height = 180 });
3: list_tallItems.Add(new TallItem() { name = "Jorden", Height = 200 });
4: list_tallItems.Add(new TallItem() { name = "Nono", Height = 155 });
5: list_tallItems.Add(new TallItem() { name = "Jessica", Height = 166 });
6:
7: //依 身高 做遞增排序
8: list_tallItems = list_tallItems.OrderBy(x => x.Height).ToList();
9: foreach (TallItem item in list_tallItems)
10: {
11: Debug.WriteLine(item.name + ":" + item.Height);
12: }
13: Debug.WriteLine("================================");
14: //依 身高 做遞減排序
15: list_tallItems = list_tallItems.OrderByDescending(x => x.Height).ToList();
16: foreach (TallItem item in list_tallItems)
17: {
18: Debug.WriteLine(item.name + ":" + item.Height);
19: }
結果會像這樣:
1: Nono:155
2: Jessica:166
3: Tony:180
4: Jorden:200
5: ================================
6: Jorden:200
7: Tony:180
8: Jessica:166
9: Nono:155
List<object>排序 z的更多相关文章
-
LINQ系列:Linq to Object排序操作符
LINQ排序操作符包括:OrderBy.OrderByDescending.ThenBy.ThenByDescending及Reverse. 1. OrderBy 1>. 原型定义 public ...
-
Oracle中针对中文进行排序[Z]
在oracle 9i之前,对中文的排序,是默认按2进制编码来进行排序的. 9i时增加了几种新的选择: 按中文拼音进行排序:SCHINESE_PINYIN_M 按中文部首进行排序:SCHINESE_RA ...
-
C#List<object>排序
//定义一个集合 var list = new List<Object>();//这里的Object为对象类型 //假设list已经有数据存进去,根据对象的某个字段升序或降序 var or ...
-
Initializing nested object properties z
public class Employee { public Employee() { this.Insurance = new Insurance(); } // Perhaps another c ...
-
JavaScript对象 Object类型基础
前言 JavaScript 对象是整个语言学习的一个难点.本文主要带大家入门学习Object知识 对象定义 javascript的基本数据类型包括undefined.null.boolean.stri ...
-
Pandas基本功能之算术运算、排序和排名
算术运算和数据对齐 Series和DataFrame中行运算和列运算有种特征叫做广播 在将对象相加时,如果存在不同的索引对,则结果的索引就是该索引对的并集.自动的数据对齐操作在不重叠的索引处引入了NA ...
-
Python排序之多属性排序
1.sort函数说明: sort函数是list类的一个方法,说明如下: sort(...)L.sort(cmp=None, key=None, reverse=False) -- stable sor ...
-
恕我直言你可能真的不会java第7篇:像使用SQL一样排序集合
在开始之前,我先卖个关子提一个问题:我们现在有一个Employee员工类. @Data @AllArgsConstructor public class Employee { private Inte ...
-
java-集合类
框架图 集合类 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式.数组和集合类同是容器,有何不同?数组存储同一类型的基本数据类 ...
随机推荐
-
数据结构学习——shell排序的C语言实现
shell排序: 这个排序的命名是来自发明者的名字,和排序的方法没有字面上的联系.所以不要因为名字而感觉很难.在K&R的C程序设计语言中书中只用了几行代码很简洁的实现了这个排序算法.那就来看看 ...
-
Netty源码阅读(一) ServerBootstrap启动
Netty源码阅读(一) ServerBootstrap启动 转自我的Github Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速 ...
-
Asp.net创建伪静态页面
下面是我研究了好几天和同事一起才研究出来的,原创. 1伪静态的定义: 伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息.或者还 ...
-
青瓷qici - H5小游戏 抽奖机 3 效果设置
现在是万事俱备,只欠东风,好,我们一起动手,先来东风东. 烟花粒子效果 第一个来实现我们的烟花粒子效果,点击我们的粒子,按照下图方式配置. 注意此时我们已经加入了white.png作为粒子特效使用. ...
-
less学习-浏览器端编译(一)
demo地址 http://www.qq210.com/shoutu/android 1.下载less包,官网 2.引入less文件 <link rel="stylesheet/les ...
-
php错误捕捉
<?php //禁止错误输出 error_reporting(0); //设置错误处理器 set_error_handler('errorHandler'); register_shutdown ...
-
C语言-06复杂数据类型-03指针
指针变量的定义 变量类型 *变量名; #include <stdio.h> int main() { // 指针就一个作用:能够根据一个地址值,访问对应的存储空间 // 指针变量p前面的i ...
-
HDU 1166 敌兵布阵 线段树的基本应用——动态区间和问题
题目: http://acm.hdu.edu.cn/showproblem.php?pid=1166 简单题,1A了,这个好像就是传说中的“点树”. 设当前结点表示线段[left, right],编号 ...
-
NET笔记——IOC详解和Unity基础使用介绍
说起IOC,可能很多初学者不知道是用来做什么的,今天正好有点时间,就来扫扫盲,顺便巩固下自己. IOC全称是Inversion Of Control,意为控制反转(这些自然百度也有),可什么是控制反转 ...
-
用 OUTLOOK VBA 生成 自定义文件夹 邮件列表
Option Explicit Sub TestFolder() 'Dim outlookapp, myitem, myfolder 'Dim mailcounts As Integer ' ' 'S ...
LINQ排序操作符包括:OrderBy.OrderByDescending.ThenBy.ThenByDescending及Reverse. 1. OrderBy 1>. 原型定义 public ...
在oracle 9i之前,对中文的排序,是默认按2进制编码来进行排序的. 9i时增加了几种新的选择: 按中文拼音进行排序:SCHINESE_PINYIN_M 按中文部首进行排序:SCHINESE_RA ...
//定义一个集合 var list = new List<Object>();//这里的Object为对象类型 //假设list已经有数据存进去,根据对象的某个字段升序或降序 var or ...
public class Employee { public Employee() { this.Insurance = new Insurance(); } // Perhaps another c ...
前言 JavaScript 对象是整个语言学习的一个难点.本文主要带大家入门学习Object知识 对象定义 javascript的基本数据类型包括undefined.null.boolean.stri ...
算术运算和数据对齐 Series和DataFrame中行运算和列运算有种特征叫做广播 在将对象相加时,如果存在不同的索引对,则结果的索引就是该索引对的并集.自动的数据对齐操作在不重叠的索引处引入了NA ...
1.sort函数说明: sort函数是list类的一个方法,说明如下: sort(...)L.sort(cmp=None, key=None, reverse=False) -- stable sor ...
在开始之前,我先卖个关子提一个问题:我们现在有一个Employee员工类. @Data @AllArgsConstructor public class Employee { private Inte ...
框架图 集合类 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式.数组和集合类同是容器,有何不同?数组存储同一类型的基本数据类 ...
-
数据结构学习——shell排序的C语言实现
shell排序: 这个排序的命名是来自发明者的名字,和排序的方法没有字面上的联系.所以不要因为名字而感觉很难.在K&R的C程序设计语言中书中只用了几行代码很简洁的实现了这个排序算法.那就来看看 ...
-
Netty源码阅读(一) ServerBootstrap启动
Netty源码阅读(一) ServerBootstrap启动 转自我的Github Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速 ...
-
Asp.net创建伪静态页面
下面是我研究了好几天和同事一起才研究出来的,原创. 1伪静态的定义: 伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息.或者还 ...
-
青瓷qici - H5小游戏 抽奖机 3 效果设置
现在是万事俱备,只欠东风,好,我们一起动手,先来东风东. 烟花粒子效果 第一个来实现我们的烟花粒子效果,点击我们的粒子,按照下图方式配置. 注意此时我们已经加入了white.png作为粒子特效使用. ...
-
less学习-浏览器端编译(一)
demo地址 http://www.qq210.com/shoutu/android 1.下载less包,官网 2.引入less文件 <link rel="stylesheet/les ...
-
php错误捕捉
<?php //禁止错误输出 error_reporting(0); //设置错误处理器 set_error_handler('errorHandler'); register_shutdown ...
-
C语言-06复杂数据类型-03指针
指针变量的定义 变量类型 *变量名; #include <stdio.h> int main() { // 指针就一个作用:能够根据一个地址值,访问对应的存储空间 // 指针变量p前面的i ...
-
HDU 1166 敌兵布阵 线段树的基本应用——动态区间和问题
题目: http://acm.hdu.edu.cn/showproblem.php?pid=1166 简单题,1A了,这个好像就是传说中的“点树”. 设当前结点表示线段[left, right],编号 ...
-
NET笔记——IOC详解和Unity基础使用介绍
说起IOC,可能很多初学者不知道是用来做什么的,今天正好有点时间,就来扫扫盲,顺便巩固下自己. IOC全称是Inversion Of Control,意为控制反转(这些自然百度也有),可什么是控制反转 ...
-
用 OUTLOOK VBA 生成 自定义文件夹 邮件列表
Option Explicit Sub TestFolder() 'Dim outlookapp, myitem, myfolder 'Dim mailcounts As Integer ' ' 'S ...