C# 泛型集合排序】的更多相关文章

Student sModel = new Student(); List<Student > list = new List<Student >(); list= list.OrderBy(s=> s.Age).ThenBy(s => s.Sort).ToList();…
引用 最近总有种感觉,自己复习的进度总被项目中的问题给耽搁了,项目中遇到的问题,不总结又不行,只能将复习基础方面的东西放后再放后.一直没研究过太深奥的东西,过去一年一直在基础上打转,写代码,反编译,不停的重复.一直相信,在你不知道要干嘛的时候,浮躁的时候,不如回到最基础的东西上,或许换种思考方式,会有不一样的收获. 泛型集合List<T>排序 先看一个简单的例子,int类型的集合: using System; using System.Collections.Generic; using Sy…
wpf 导出Excel   1 private void Button_Click_1(object sender, RoutedEventArgs e) 2 { 3 4 ExportDataGridSaveAs(true, this.data); 5 } 6 #region wpf客户端 导出DataGrid数据到Excel 7 8 /// <summary> 9 /// CSV格式化 10 /// </summary> 11 /// <param name="d…
原文:winform datagridview 绑定泛型集合变得不支持排序的解决方案 案例: 环境:Winform程序 控件:Datagridview 现象:Datagridview控件绑定到List<T>泛型数据上不支持排序 Datagridview控件绑定到DataTable上可以支持排序 结论:泛型会使Datagridview失去排序特性 解决:实现BindingList<T>接口 实现代码: using System; using System.Collections.Ge…
一.泛型集合List<T>排序 经sort方法之后,采用了升序的方式进行排列的. List<int> list = new List<int>() { 2, 4, 1, 3, 5, -2, 0, 10 }; Console.Write("排序前..."); foreach (var item in list) { Console.Write(item + "\t"); } list.Sort(); Console.WriteLin…
.NET中的泛型集合 在这里主要介绍常见的泛型集合,很多时候其并发时的线程安全性常常令我们担忧.因而简述下.NET并发时线程安全特性,其详情请见MSDN. 普通集合都不支持多重并发写操作 部分支持单线程写和并发读操作 同时.NET4添加了大量并发集合 首先介绍常见的泛型集合接口,其大部分都位于System.Collection.Generic命名空间. IEnumerable<T>,其可以获取一个IEnumerator<T>迭代器,如果从数据库的角度来看,前者是表,后者是游标,同时…
List泛型集合 集合是OOP中的一个重要概念,C#中对集合的全面支持更是该语言的精华之一. 为什么要用泛型集合? 在C# 2.0之前,主要可以通过两种方式实现集合: a.使用ArrayList 直接将对象放入ArrayList,操作直观,但由于集合中的项是Object类型,因此每次使用都必须进行繁琐的类型转换. b.使用自定义集合类 比较常见的做法是从CollectionBase抽象类继承一个自定义类,通过对IList对象进行封装实现强类型集合.这种方式要求为每种集合类型写一个相应的自定义类,…
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace List泛型集合 { class Program { static void Main(string[] args) { //ArrayList的好处是长度可变,可以往里面放任意类型的数据.但是当我们从ArrayList中取数据的时候,取出来的全部是Object类型的数据,最终还要将这个Object类型的数…
C# 泛型集合之非泛型集合类与泛型集合类的对应: ArrayList对应List HashTable对应Dictionary Queue对应Queue Stack对应Stack SortedList对应SortedList 第一  : ArrayList(非泛型集合)  与List(泛型集合) ArrayList 是数组的复杂版本.ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能: 1.Array 的容量是固定的,而 ArrayList…
最近对集合相关的命名空间比较感兴趣,以前也就用下List<T>, Dictionary<Tkey, TValue>之类,总之,比较小白.点开N多博客,MSDN,StackOverflow,没找到令我完全满意的答案,本打算自己总结下写出来,工作量好大的感觉……直到昨晚随意翻到看了一些又放下的<深入理解C#>-附录B部分,高兴地简直要叫出来——“这总结真是太绝了,好书不愧是好书”.真是“踏破铁鞋无觅处,得来全不费工夫”,最好的资源就在眼下,而自己居然浑然不知.或许只有深入技…
非泛型集合的类和接口位于System.Collections命名空间 如:列表.队列.位数组.哈希表和字典的集合     ArrayList 动态数组 可被单独索引的对象的有序集合可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小允许在列表中进行动态内存分配.增加.搜索.排序   Capacity:获取或设置可以包含的元素个数Count:包含的元素个数Item:获取或设置置顶索引处的元素Add:末尾添加一个对象Clear:移除所有的元素Contains:判断元素是否在Arra…
本篇体验除Queue<T>和Stack<T>之外的其它泛型集合. SortedList<TKey, TValue> SortedList<TKey, TValue>和List<T>比较相似,不同的地方在于SortedList集合元素是排过序的,往SortedList集合添加元素的时候需要添加键值对数据.在添加集合元素的时候,首先采用"二分查找算法"找到合适的位置,然后元素被放到该位置,该位置后面所有的集合元素整体后退一位. s…
数组的制约:局限性.有多少放多少,要想追加,就必须重新再定义一个数组,这就造成了资源的极大浪费而且性能消耗也比较大.因此此操作不太推荐.所以集合就来了. ,,,} 创建集合: ArrayList list=new ArrayList(); list.Add(); list.Add(); list.Add(); Console.WriteLine(list.Count);//输出元素个数 3 在原有基础上在追加一个:实现动态添加数据,而避免再次开辟一个资源空间. ArrayList list=ne…
1.DataSet装换为泛型集合(注意T实体的属性其字段类型与dataset字段类型一一对应) #region DataSet装换为泛型集合 /// <summary> /// 利用反射和泛型 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static List<T> ConvertToList&l…
我们都知道,Linq能查询泛型集合,确切的说是:LINQ能实现查询泛型对象或者实现了IEnumerable.但是,很遗憾的是诸如ArrayList这样的非泛型集合并没有实现IEnumerable.那咋办呢?总不能把这么绚丽的Linq技术对非泛型关上大门把!~其实,方法还是有的. 场景还原: 定义一个car的类: class Car { public int CurrentSpeed; public int MaxSpeed; public string PetName; } 对ArrayList…
有人说"越懒"的程序员进步的越快!其实还挺有道理.亲身体验,从刚出来工作到现在,自己变"懒"了许多,但感觉写出来的代码确有了不少提升.刚开始啊,同样的代码,赋值粘贴,可以说又丑又长,现在看来,不忍直视啊!变懒以后,就想着如何在同样能实现功能和需求的情况下让自己少出力,少写代码呢?渐渐的,开始学习如何利用c#关键字啊,特殊类型啊,封装公用方法,公用类等.好了废话不多说了,上星期刚好有个实习生问我关于ef的问题,就简单的写了个案例,利用泛型集合封装一个简单的"…
1.虚方法 virtual 重写 override 父类中的方法,在子类中并不适用,那么子类需要自主更改继承的方法或者是属性,那父类中加了virtual关键字的方法才可以被子类重写,子类重写父类的方法使用的是override关键字 例: 我们都知道,喜鹊(Magpie).老鹰(Eagle).企鹅(Penguin)都是属于鸟类,我们可以根据这三者的共有特性提取出鸟类(Bird)做为父类,喜鹊喜欢吃虫子,老鹰喜欢吃肉,企鹅喜欢吃鱼. 创建基类Bird如下,添加一个虚方法Eat(): /// <sum…
List<QiTaFree> qiTaFreeList = GsonUtils.getGson().fromJson(exhiMain.getQiTaFressJson(), new TypeToken<List<QiTaFree>>(){}.getType()); exhiMain.setQiTaFrees(qiTaFreeList);//其他 if(qiTaFreeList !=null && qiTaFreeList.size()>0){ f…
类库: 就是让别人调用你写的方法,并且不让别人看到你是怎么实现的.(比如说一些核心文件) 如果有功能你不会做,需要别人帮忙,那么你的同事可以帮你写好一个类,然后你来调用这个类中的方法,完成你的项目. 在另一个项目中添加一个类,写好函数.然后找到源文件复制,在要添加的项目中粘贴该类,然后引用(using XXX;).实例化之后就可以引用了. 1.C#源代码文件,包括在自己的项目中 using System; using System.Collections.Generic; using Syste…
二:is和as运算符: (1) is运算符 is 运算符用于检查对象是否与给定类型兼容.如果兼容返回true,否则返回false; 一般用于查看某个类是否实现了某个接口,或者是不是某个类的子类; 例如,要检查变量是否与object类型兼容: 注意:"兼容"表示对象是该类型,或者派生于该类型. object o = new object(); if (o is Label) { Label lb = (Label)o; Response.Write("类型转换成功")…
很多项目都会用到Json,而且大部分的Json都是格式固定,功能强大,转换简单等,标准的key,value集合字符串:直接JsonConvert.SerializeObject(List<T>)就可以搞定了,但凡事并非千篇一律,比如有的时候我们需要的Json可能只需要value,不需要key,并且前后可能还需要辅助信息等等,那该怎么办呢?我所能想到的可能有两种方案,1.自定义跟所需json格式一样的数据结构model,然后用JsonConvert.SerializeObject(model)直…
类库 类库(Class Library)是一个综合性的面向对象的可重用类型集合,这些类型包括:接口.抽象类和具体类.类库可以解决一系列常见编程任务(包括诸如字符串管理.数据收集.数据库连接以及文件访问等任务),还可以解决多种专用开发任务(控制台应用程序.桌面应用程序.WEB应用程序等). 优点:保密性好,用户无法看到方法结构体 缺点:如果这个方法不好用,使用者无法自己去更改它. 鼠标放在类上按下F12可以查看程序集 1.创建类库 类库创建完成,它默认public,并且没有主函数,无法进行启动,它…
#region Linq to 集合查询非泛型集合要指定Student类型            //ArrayList list = new ArrayList();            //list.Add(new Student { Name = "Tom", Age = 17 });            //list.Add(new Student { Name = "Jerry", Age = 16 });            //list.Add(…
#region Linq to 泛型集合查询集合包括大写M和年龄小于等于18            //List<Student> list = new List<Student>();            //list.Add(new Student { Name = "Tom", Age = 17 });            //list.Add(new Student { Name = "Jerry", Age = 16 });  …
多态:简而言之就是龙生九子,各有不同 有了继承,才有了多态 1.虚方法 virtual 重写 override 父类中的方法,在子类中并不适用,那么子类需要自主更改继承的方法或者是属性,那父类中加了virtual关键字的方法才可以被子类重写 子类重写父类的方法使用的是override关键字 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 多态 { pub…
类库:其实就是一堆类文件,只不过用户看不到这些类的源代码,保密性好. 优点:保密性好缺点:如果这个方法不好用,使用者无法自己去更改它. 类文件是.cs    类库是.dll 新建项目为类库,在debug文件夹下找到dll文件 委托:委托可以理解为:函数的指针 关键词:delegate 声明委托类型:public delegate int FirstDel(int a, int b); FirstDel不是类,是委托变量,不能实例化(不能new), 创建委托变量:FirstDel 名字 = 与这个…
类库: 说白了,就是让别人调用你写的方法,并且不让别人看到你是怎么实现的. 如果有功能你不会做,需要别人帮忙,那么你的同事可以帮你写好一个类,然后你来调用这个类中的方法,完成你的项目. 1.C#源代码文件,包括在自己的项目中 2.类库,.dll 优点:你写的方法别人看不到实现过程,保密性强 缺点:如果你写的方法有错误,别人无法更改 ---------------------------------------------------------委托:可以理解为 函数的指针 delegate -…
商品 数量 单价英语 66 100语文 66 80数学 66 100化学 66 40物理 66 60 上面截图是要处理的文本文档内容,目的是计算出总价并加在最后一列. 这一篇与上一篇比较类似,目的相同,不同之处为读入到了list中,list泛型集合可以当作可变长数组使用.通过StreamReader创建一个流sr,然后通过一个while循环将读得的每行数据放入字符串类型的list中,之后对每个list分割,并返回一个字符串数组,这个字符串数组就可以通过转化为double来计算了,计算完成后可以通…
前言   软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类.不管是数组还是集合类,它们都有各自的优缺点.如何使用好集合是我们在开发过程中必须掌握的技巧.不要小看这些技巧,一旦在开发中使用了错误的集合或针对集合的方法,应用程序将会背离你的预想而运行. 本文已更新至http://www.cnblogs.com/aehyok/p/3624579.html .本文主要学习记录以下内容: 建议20.使用泛型集合来替代非泛型集合 建议21.选择正确的集合 建议22.确保集合的线性安全…
写在前面 工作中经常遇到datatable与list,对于datatable而言操作起来不太方便.所以有的时候还是非常希望通过泛型集合来进行操作的.所以这里就封装了一个扩展类.也方便使用. 类 方法中主要使用了反射的方式动态的为属性赋值以及取值. public static class Extension { /// <summary> /// 将datatable转换为泛型集合 /// </summary> /// <typeparam name="TEntity…