我有一个无法使用的项目System.Linq
,所以我尝试创建一个与 linq 完全相同的 cutsomWhere 方法,我该怎么做?
var x = y.ToList().Where(t => t.Title != "Foo");
Run Code Online (Sandbox Code Playgroud)
解决方案1
protected void Page_Load(object sender, EventArgs e)
{
var x = y.ToList().Where<Microsoft.SharePoint.Navigation.SPNavigationNode>(x => x.Title != "Foo");
}
public static class Extensions
{
public static IEnumerable<T> Where<T>(this IEnumerable<T> source, Func<T, bool> filter)
{
foreach (var item in source)
{
if (filter(item))
yield return item;
}
}
}
Run Code Online (Sandbox Code Playgroud)
注意:.NET v 2.0
这是一个扩展方法:
public static IEnumerable<T> Where<T>(this IEnumerable<T> source, Func<T, bool> filter)
{
foreach (var item in source)
{
if (filter(item))
yield return item;
}
}
Run Code Online (Sandbox Code Playgroud)