c#泛型集合排序总结
今天学习学累了,还有一点时间就总结一下重要的知识点吧!也算复习了!
排序有很多方法其中有很多都是被接受的(即老师上课讲的),当时虽然也会用但是很不理解为什么要这样做,这样做为什么能实现,其实细研究一下也没什么,只不过微软给我们封装了很多东西,所以导致现在学习编程的人,尤其是学习所谓的高级语言的人,都只知道什么东西怎么用,能干什么,更多的是去关心业务逻辑,而不关心底层实现方式,所以现在当有很多东西可以实现同一个功能时,有很多人知道在什么情况下用什么方式最好,但是为什么最好,不知道!只知道好!所以都比较迷惑。(下面几种方法我也不知道那种好,但都能实现排序功能)
方法一:传统的实现接口的方法(参看MSDN)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
}
方法二:利用反射(比较通用,半夜突然想起来的,一测试就成功了!)
任何自定义的类组成的泛型集合都可以实现自定义排序,可以做成一个通用类,没有必要每一个自定义类都得实现排序的接口
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
.GetProperty(sortString).GetValue(y,null).ToString());
}
三:使用linq中的一些方法也可以实现,就更简单了,不过要想实现通用的,还得考虑在其中用一下反射内容
使用linq的方法实现的就不再举例了(可以参考VS2010的帮助文档,VS2010的帮助文档挺强大!)
下面是一个使用linq和反射技术结合的例子(因为这样可以做到通用)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 排序
{
("Name").GetValue(y, null).ToString()).CompareTo(x.GetType().GetProperty
("Name").GetValue(x, null).ToString())));
总结:现在什么东西都变得越来越简单,可能唯一变得复杂的就是需求!还有一点就是什么东西想好了再去做,效果会好一点!
c#泛型集合排序
原创
©著作权归作者所有:来自51CTO博客作者jim1208的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:c#3.0的新增语言功能
下一篇:我的友情链接
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
STL常用泛型算法
STL常用泛型算法
STL 泛型算法 C++函数对象 STL常用算法接口 -
【C#】List泛型集合
【代码】【C#】List泛型集合。
C# System List 示例代码