zoukankan      html  css  js  c++  java
  • 小扩展大用处,自己扩展一个ForeachRead吧

    是否用过IList的扩展方法 Foreach,而郁闷IEnumerable没有这个扩展?(没用过??用用吧,真的很方便,可以少好几行呢!!)

    是否为了有一个索引而不得不用 for 而不能用 foreach??

    那这个扩展方法适合你:

    public static void ForEachRead<T>(this IEnumerable<T> dx,Action<int,T> act)
    {
          int i = 0;
          foreach (var item in dx)
          {
              act(i, item);
              i++;
          }
    }

    完了??对,完了。

    这么个玩意有啥用呢??

    对于要使用索引的操作以前只能:

    List<int> arr = new List<int>() { 1,2,3,4,5,6,7,8,9,10};
    var query=arr.Where(x => x > 5).ToList();
    for (int i = 0; i < query.Count; i++)
    {
         Console.WriteLine(string.Format("{0}:{1}",i,query[i]));
    }
    Console.ReadKey();

    现在可以:

    List<int> arr = new List<int>() { 1,2,3,4,5,6,7,8,9,10};
    arr.Where(x => x > 5).ForEachRead((i, o) => {Console.WriteLine(string.Format("{0}:{1}", i, o));});
    Console.ReadKey();

    是不是很像jquery!!!

    很简单的东西,看别人没发过,过来抛砖引玉吧。

    本文来自 博-客-园

  • 相关阅读:
    函数式编程
    scala 有 + 运算符吗?
    使用 Idea 打 scala程序的 jar 包
    相见恨晚的 scala
    半夜思考,为什么 String 具有不变性
    我的常用
    DataTable学习笔记
    Js 操作cookie
    嵌套的 ajax 请求
    Jquery插件收集【m了慢慢学】
  • 原文地址:https://www.cnblogs.com/fej121/p/4156566.html
Copyright © 2011-2022 走看看