• 泛型委托


    1.Action<T> 泛型委托

       有参数,无返回值 。

       public delegate void Action<T>(T obj)


    public void ForEach(Action<T> action)
    {
        
    if (action == null)
        {
            ThrowHelper.ThrowArgumentNullException(ExceptionArgument.match);
        }
        
    for (int i = 0; i < this._size; i++)
        {
            action(
    this._items[i]);
        }
    }

     

    2. Func<T,TResult> 泛型委托
      
    有参数,也可没有参数,一定有返回值。

      public delegate TResult Func<T,TResult>(T arg)


    public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
    {
        
    if (source == null)
        {
            
    throw Error.ArgumentNull("source");
        }
        
    if (predicate == null)
        {
            
    throw Error.ArgumentNull("predicate");
        }
        
    if (source is Iterator<TSource>)
        {
            
    return ((Iterator<TSource>) source).Where(predicate);
        }
        
    if (source is TSource[])
        {
            
    return new WhereArrayIterator<TSource>((TSource[]) source, predicate);
        }
        
    if (source is List<TSource>)
        {
            
    return new WhereListIterator<TSource>((List<TSource>) source, predicate);
        }
        
    return new WhereEnumerableIterator<TSource>(source, predicate);
    }

     

     

    3.Predicate<T> 泛型委托 
      表示定义一组条件并确定指定对象是否符合这些条件的方法.

      public delegate bool Predicate<T>(T obj) 

    Predicate在List Find()中的使用
  • 相关阅读:
    【JAVASCRIPT】处理剪切板
    【数据库】常用系统存储过程
    【ASP.NET】存储过程分页实例
    图灵2010.11书讯
    计算机大师高德纳权威著作《计算机程序设计艺术》影印版精装版已经入库,即将上市!
    图灵2010.10书讯
    图灵2010.09书讯
    两个要素:人和思考——《软件人才管理的艺术》书评
    《我编程,我快乐》精彩片段——学习行业是如何运转的
    图灵5周年系列活动之科普大爆炸(免费!)
  • 原文地址:https://www.cnblogs.com/ycdx2001/p/1518432.html
Copyright © 2020-2023  润新知