您的位置:首页 > 其它

扩展方法

2015-11-20 11:04 141 查看
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;

namespace委托
{
///<summary>
///扩展方法三要素静态类、静态方法、this关键字
///</summary>
publicstaticclassListExt
{
publicstaticList<int>MyFindAll(thisList<int>listInput,Predicate<int>compareFunction)
{
List<int>listResult=newList<int>();
foreach(intiinlistInput)
{
if(compareFunction(i))
{
listResult.Add(i);
}
}
returnlistResult;
}
publicstaticList<T>MyFindAll<T>(thisList<T>listInput,Predicate<T>compareFunction)
{
List<T>listResult=newList<T>();
foreach(TtinlistInput)
{
if(compareFunction(t))
{
listResult.Add(t);
}
}
returnlistResult;
}
}
}


privatestaticvoidTest2()
{
List<int>list=newList<int>{
1,2,3,4
};
//List<int>listRestult=list.FindAll(IsOk);
//List<int>listRestult=list.FindAll(a=>a>3);
//List<int>listRestult=list.MyFindAll(IsOk);
//List<int>listRestult=list.MyFindAll(a=>a>3);
//foreach(intiinlistRestult)
//{
//Console.WriteLine(i.ToString());
//}

//List<int>listRestult=list.MyFindAll<int>(IsOk);
List<int>listRestult=list.MyFindAll<int>(a=>a>3);
foreach(intiinlistRestult)
{
Console.WriteLine(i.ToString());
}
}





                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: