深入理解 c# 第一章 使用扩展方法对 List<Product> 排序
2018-04-02 15:22
961 查看
class ListOrderWithExtensionMethod { static void Main() { List<Product> products = Product.GetSampleProducts(); foreach (Product product in products.OrderBy(p => p.Name)) { Console.WriteLine(product); } } }
public static List<Product> GetSampleProducts() { return new List<Product> { new Product { Name="West Side Story", Price = 9.99m }, new Product { Name="Assassins", Price=14.99m }, new Product { Name="Frogs", Price=13.99m }, new Product { Name="Sweeney Todd", Price=10.99m} }; }输入
"West Side Story", 9.99m
"Assassins", 14.99m
"Frogs", 13.99m
"Sweeney Todd", 10.99m
输出
Assassins: 14.99
Frogs: 13.99
Sweeney Todd: 10.99
West Side Story: 9.99
能调用orderby 方法, 是因为存在扩展方法。 不是排序,而是按顺序获取内容
c#1 弱类型的比较功能 不支持委托排序
c#2 强类型的比较功能 委托比较 匿名方法
c#3 表达式 扩展方法 允许列表保持未排序状态
相关文章推荐
- 深入理解 c# 第一章 使用lambda表达式 对 List <Product> 进行排序
- 深入理解 c# 第一章 使用IComparer<Product> 对 List<Product> 进行排序
- 深入理解 c# 第一章 使用IComparer<Product>委托 对 List <Product> 进行排序
- VS2010使用扩展方法对List<T>进行随机排序
- 用python模仿c#的List<>一组list筛选扩展方法
- 深入理解 c# 第三章 List<int> 填充整数后计算平方根
- [C#/ASP.NET]List<>中Sort()、Find()、FindAll()、Exist()的使用方法
- 深入理解 c# 第四章 使用Nullable<T>的各个成员
- [C#/ASP.NET]List<>中Sort()、Find()、FindAll()、Exist()的使用方法
- C# 中使用Linq和Lambda表达式对List<T>进行排序
- [C#/ASP.NET]List<>中Sort()、Find()、FindAll()、Exist()的使用方法
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- [C#/ASP.NET]List<>中Sort()、Find()、FindAll()、Exist()的使用方法
- 《Effective C#》读书笔记——条目23:理解接口方法和虚方法的区别<使用C#表达设计>
- C# List<T> 自定义排序方法
- 扩展方法IEnumerable<T>转换为IList<SelectListItem> ,提供@Html.DropDownList使用
- C#泛型集合List<T>自带方法之排序
- C#List<Category>使用方法
- 深入理解 c# 第一章 使用IComparer 对 ArrayList 进行排序
- C# List<T>自定义排序方法