C# 的扩展方法在 LINQ 中实现数组排序

首先定义一个数组,int[] a = { 3,1,2,4},我们要简单的实现该数组的排序,但是a数组是System空间下的,没有OrderBy()之类的方法,这是我们引入命名空间using System.Linq之后可以看见又该方法了。给个简单的例子如下:

using System;
using System.Linq;

namespace 对象初始化器
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] a = { 3,1,2,4};
            var result = a.OrderBy(t=>t);
            foreach(var i in result)
            {
                Console.WriteLine("{0}",i);
            }
            Console.WriteLine();
        }
    }
}
时间: 2024-12-20 23:24:17

C# 的扩展方法在 LINQ 中实现数组排序的相关文章

扩展方法以及LinQ的学习

我们今天学习的内容其实还是蛮多的,学习了自动属性,扩展方法,复习初始化器,以及LinQ的一些方法,其实感觉有些还是很熟悉的,在前面的学习过程中有时间感觉学习的知识知道了怎么使用,但是还没有在项目中使用,做的习题似乎意义不大,现在依旧如此,感觉仅限于知道怎样使用.很想做一个小小的项目来熟悉下学习的知识...下面就总结下今天学习的内容. 一.自动属性 private int productid; public int Productid { get { return productid; } set

net2.0实现net3.5特性,如扩展方法,Linq等

差不多两年没碰net了,今天想做个小工具,于是打开了久违的VS2012,由于客户终端还是winxp时代,而且是net2.0,且升级存在限制,因此必需在2.0下开发,之前的常用库是3.5写的,而且因为3.5的扩展,linq等非常快速便捷,因此写起2.0来很别扭,网上查了查,居然找到一个很简便的办法,特地记下来: 1.直接把net3.5里的System.Core.dll添加到2.0项目中(引用),属性中"特定版本"设置为false 2.代码中using System.Linq; 快乐的玩耍

使用attribute + 扩展方法完成 enum中field的信息映射

attribute可用来做信息映射,比起Dictionary或者Tuple,attribute显得更灵活,解耦,并可对应多种类型 以下是一个enum中的field的信息映射 1. 创建field attribute [AttributeUsage(AttributeTargets.Field)] public class JobActionMetadatAttribute : Attribute { public JobActionUIType UIType { get; private set

扩展方法是静态类中的静态方法

Ztree扩展方法汇总(更新中)

var treeObj = $.fn.zTree.getZTreeObj("tree_div"); //得到ztree对象 1.展开所有节点 treeObj.expandAll(true); 2.设置根节点展开 var treeObj = $.fn.zTree.getZTreeObj("tree_div"); var nodes = treeObj.getNodes(); for (var i = 0; i < nodes.length; i++) { //设

C#中的扩展方法详解

“扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.”这是msdn上说的,也就是你可以对String,Int,DataRow,DataTable等这些类型的基础上增加一个或多个方法,使用时不需要去修改或编译类型本身的代码. 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 以上是msdn官网对扩展方法的描述,现在我通过一个情景

C#高级知识点概要(3) - 特性、自动属性、对象集合初始化器、扩展方法、Lambda表达式和Linq查询

1.特性(Attributes) 特性(Attributes),MSDN的定义是:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法和属性等.Attributes和Microsoft .NET Framework文件的元数据保存在一起,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为.例如,在一个方法前标注[Obsolete]特性,则调用该方法时VS则会提示该方法已过期的警告,如下图: 又如,在.Net Re

[转] C# 中的扩展方法

扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 以上是msdn官网对扩展方法的描述,现在我通过一个情景例子来对此进行阐释.假设一个控制台程序class Program{}里面的主函数如下: 1 static void Main(string[] args) 2 { 3 DateTime now = DateTime.Now; 4 string time = now.ToS

Linq之扩展方法

目录 写在前面 系列文章 扩展方法 总结 写在前面 上篇文章介绍了隐式类型,自动属性,初始化器,匿名类的相关概念,及通过反编译的方式查看了编译器帮我们做了那些事.本篇文章将介绍扩展方法的知识点,及如何定义,如何使用的相关内容. 系列文章 Linq之Lambda表达式初步认识 Linq之Lambda进阶 Linq之隐式类型.自动属性.初始化器.匿名类 扩展方法 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像