I am a big fan of LINQ to Objects, especially when it comes to working with collections. There are a lot of samples that illustrate how to use Skip() and Take() to locate a page of data in a collection, however most examples leverage inline code. While I appreciate the simplicity of demonstrating code in this manner, I think it promotes bad programming practices. Rather than find a concept and integrate it intelligently into their application, most developers will plagerize the sample and move on their merry way without a thought of how the code “should” be integrated.
Read this article:
IEnumerable<T> Paging with LINQ