一、Enumerable.AsEnumerable<TSource> 方法
https://msdn.microsoft.com/zh-cn/library/bb335435%28v=vs.110%29.aspx
当实现类与基类都有相同的方法时( 基类是实现了 IEnumerable<T> ),要执行基本的方法,用 AsEnumerable
class AsEnumerableTest<T> : List<T>
{
public void Where(Func<T, bool> func)
{
Console.WriteLine("AsEnumerableTest 的 Where 方法");
}
}
public static void AsEnumerable()
{
AsEnumerableTest<int> q = new AsEnumerableTest<int>() { 1, 2, 3, 4 };
q.Where(r => r < 3);
var v = q.AsEnumerable().Where(r => r < 3);
Console.WriteLine(v.Count());
}