zoukankan      html  css  js  c++  java
  • Enumerable类成员函数的参数的几种写法

          System.Linq.Enumerable类为我们提供了许多扩展方法,一般实现了IEnumerable<T>接口的类型都能被扩展,比如Enumerable类中定义了OrderBy方法,该方法用来根据某个键值对目标值序列排序,那么int[] 类型就能拥有OrderBy这个方法了。

          其中OrderBy方法有两个参数,一个为要扩展类型的对象:this IEnumerable<TSource> source;一个就是返回排序键值的委托:Func<TSource, TKey> keySelector。其中Func是一个TSource类型参数,返回TKey类型值的委托,需要说的是,该参数有多种写法:1、

    1、直接用Lambda表达式:

    1 int[] sets={1,3,6,4,3,8,7};
    2 var subset=sets.OrderBy((int a)=>{return a;});
    3 foreach(var temp in subset)
    4 {
    5    console.write(temp);
    6 }

    2、用匿名方法:

    1 int[] sets={1,3,6,4,3,8,7};
    2 var subset=sets.OrderBy(delegate(int a){return a;});
    3 foreach(var temp in subset)
    4 {
    5    console.write(temp);
    6 }

    3、新建委托:

     1 int key(int a)
     2 {
     3    return a;
     4 }
     5 
     6 int[] sets={1,3,6,4,3,8,7};
     7 var subset=sets.OrderBy(new Func<int,int>(key));
     8 foreach(var temp in subset)
     9 {
    10     console.write(temp);
    11 }

    任何需要新建委托(new  MyDelegate(……))的地方,一般都能用匿名方法(delegate(参数){……}),也一般能用lambda表达式((参数)=>{函数体})。

  • 相关阅读:
    VUE 路由
    JS小表达式
    JS正则表达式
    react案例—实现组件之间的通信
    React脚手架搭建
    react属性三ref
    react属性二props
    java多线程2
    jvm小结2
    spark小结3
  • 原文地址:https://www.cnblogs.com/xiaozhi_5638/p/1706952.html
Copyright © 2011-2022 走看看