省的又格路了。
public static DataItem GetByItemKey(Func<string, bool> func) 
        {
            foreach(DataItem item in Items)
            {
                if (func(item.ItemKey))
                {
                    return item;
                }
                
             
            }            return null;
        }

解决方案 »

  1.   

    Lambda如果使程序变得难懂和低效率,宁肯多些几行代码,也不要用lambda,好的程序是容易看懂的程序,lambda不能滥用,
      

  2.   

    语法上大概这样写。但命名上要更小心一些。
    DataItem GetByItemKey(XXX key){...}
    DataItem GetBySelector(Func<string, bool> predicate){...}
      

  3.   


    我就是从没用过Lambda的孩子啊。但是同事写的代码里面有,我学学然后就看懂,或者能改代码了。可以自己不写,但是不能阻止别人写,别人写了,自己也一定要会读会写。so…… 非常感谢啊
      

  4.   


    DataItem GetDataItem(Func<string, bool> predicate){...}
    DataItem GetFirstDataItem(Func<string, bool> predicate){...}