by BradA via Brad Abrams on 3/10/2009 1:12:37 AM
Continuing in our weekly blog post series that highlights a few of the new additions to the Framework Design Guidelines 2nd edition.. This content is found in the LINQ section of Chapter 9: Common Design Patterns.
Supporting LINQ through IEnumerable<T>
DO implement IEnumerable<T> to enable basic LINQ support.
Such basic support should be sufficient for most in-memory data sets. The basic LINQ support will use the extension methods on IEnumerable<T> provided in the .NET Framework. For example, simply defineing as follows:
public class RangeOfInt32s : IEnumerable<int> { public IEnumerator<int> GetEnumerator() {…} IEnumerator IEnumerable.GetEnumerator() {…} }
Doing so Allows for the following code, despite the fact that RangeOfInt32s did not implement a Where method:.
var a = new RangeOfInt32s(); var b = a.Where(x => x>10);
RICO MARIANI
Keeping in mind that you’ll get your same enumeration semantics, and putting a Linq façade on them does not make them execute any faster or use less memory.
Original Post: Framework Design Guidelines: LINQ Support
The content of the postings is owned by the respective author. CSharpFeeds is not responsible for the contents of the postings. This site is automatically generated and cannot be reviewed for abusive content. If you find abusive content on CSharpFeeds, please contact us. Designated trademarks and brands are the property of their respective owners. All rights reserved.