我有一个我无法使用System.Linq
的项目,因此我尝试创建一个cutom Where方法与linq完全相同,我该怎么做?
var x = y.ToList().Where(t => t.Title != "Foo");
解决方案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;
}
}
}
注意:.NET v 2.0
答案 0 :(得分:4)
这是一个扩展方法:
efg'h
答案 1 :(得分:1)
编写一个确定结果的循环
List<YourObject> List = new List<YourObject>();
List<YourObject> Result = new List<YourObject>();
for (int i = 0; i < List.Count; i++)
{
if (List[i].Title != "Foo")
Result.Add(List[i]);
}