<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>LINQFarm: Understanding IEnumerable&amp;lt;T&amp;gt;, Part I</title><link>http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-sequences.aspx</link><description>The IEnumerable&amp;lt;T&amp;gt; interface is a key part of LINQ to Objects and binds many of its different features together into a whole. This series of posts explains IEnumerable &amp;lt;T&amp;gt; and the role it plays in LINQ to Objects. If you hear people talking</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>LINQFarm: Understanding IEnumerable</title><link>http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-sequences.aspx#8435978</link><pubDate>Mon, 28 Apr 2008 22:20:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8435978</guid><dc:creator>DotNetKicks.com</dc:creator><description>&lt;p&gt;You've been kicked (a good thing) - Trackback from DotNetKicks.com&lt;/p&gt;
</description></item><item><title>re: LINQFarm: Understanding IEnumerable&lt;T&gt;, Part I</title><link>http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-sequences.aspx#8436749</link><pubDate>Tue, 29 Apr 2008 10:58:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8436749</guid><dc:creator>Skup</dc:creator><description>&lt;p&gt;It's true that IEnumerable&amp;lt;T&amp;gt; is the central interface in linq, but actually, you can use link on any class or interface as long as you provides Select, SelectMany and other methods (as instance methods or extension methods).&lt;/p&gt;
&lt;p&gt;You can then use linq syntax as a kind of monade to work on augmented types... there is some posts about it on functional programming blogs...&lt;/p&gt;
</description></item><item><title>LINQFarm: Understanding IEnumerable, Part I</title><link>http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-sequences.aspx#8439524</link><pubDate>Wed, 30 Apr 2008 00:50:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8439524</guid><dc:creator>Vincent Yang</dc:creator><description>&lt;p&gt;Ref:&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-s"&gt;http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-s&lt;/a&gt;...&lt;/p&gt;
</description></item><item><title>re: LINQFarm: Understanding IEnumerable&lt;T&gt;, Part I</title><link>http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-sequences.aspx#8442131</link><pubDate>Wed, 30 Apr 2008 10:55:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8442131</guid><dc:creator>Charlie Calvert</dc:creator><description>&lt;p&gt;Skup,&lt;/p&gt;
&lt;p&gt;Yes, you are right about the importance of extension methods and query operators. I will talk about them later in this series of posts. IEnumerable&amp;lt;T&amp;gt; is not essential to LINQ in general, as shown by LINQ to SQL, which uses IQueryable&amp;lt;T&amp;gt; instead, but it is an essential part of LINQ to Objects, which is my focus here.&lt;/p&gt;
&lt;p&gt;- Charlie&lt;/p&gt;
</description></item><item><title>re: LINQFarm: Understanding IEnumerable&lt;T&gt;, Part I</title><link>http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-sequences.aspx#8442752</link><pubDate>Wed, 30 Apr 2008 13:25:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8442752</guid><dc:creator>James Hart</dc:creator><description>&lt;p&gt;Don't forget that IEnumerable&amp;lt;T&amp;gt; is also supported by T[], which extends LINQ to Objects to a lot of data returned from APIs that hand you arrays (one common example being string.Split()). Also, String implements IEnumerable&amp;lt;char&amp;gt; which is occasionally useful.&lt;/p&gt;
&lt;p&gt;In addition, LINQ to Objects also extends the non-generic IEnumerable with Cast&amp;lt;T&amp;gt;() and OfType&amp;lt;T&amp;gt;() methods that convert nongeneric collections to IEnumerable&amp;lt;T&amp;gt;, exposing them to all the power of the LINQ query operators. &lt;/p&gt;
</description></item><item><title>re: LINQFarm: Understanding IEnumerable&lt;T&gt;, Part I</title><link>http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-sequences.aspx#8462818</link><pubDate>Tue, 06 May 2008 15:10:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8462818</guid><dc:creator>Eddy</dc:creator><description>&lt;p&gt;I'm not understand how work &amp;quot;Deferred Execution&amp;quot; in LINQ to Objects. In LINQ to SQL, it's work via Expression Tree, but how in &amp;quot;LINQ to Objects&amp;quot; ?&lt;/p&gt;
</description></item><item><title>re: LINQFarm: Understanding IEnumerable&lt;T&gt;, Part I</title><link>http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-sequences.aspx#8589759</link><pubDate>Tue, 10 Jun 2008 14:34:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8589759</guid><dc:creator>aa.loedeman</dc:creator><description>&lt;p&gt;@Eddy: In fact, by default deferred execution is only used with LINQ to SQL. It is not used by LINQ to Objects.&lt;/p&gt;
</description></item><item><title>re: LINQFarm: Understanding IEnumerable&lt;T&gt;, Part I</title><link>http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-sequences.aspx#9318705</link><pubDate>Wed, 14 Jan 2009 16:46:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9318705</guid><dc:creator>Dirk</dc:creator><description>&lt;p&gt;Thanks for the info, I have one question though.&lt;/p&gt;
&lt;p&gt;Is there anyway to return anything other than IEnumerable?&lt;/p&gt;
&lt;p&gt;e.g. If I have a IList&amp;lt;object&amp;gt; that I want to filter using Linq to Objects. Anything that I use gives me a IEnumerable collection wich I then have to manually traverse and add each item to a new IList&amp;lt;Object&amp;gt;. Just does not seem very elegant.&lt;/p&gt;
</description></item><item><title>re: LINQFarm: Understanding IEnumerable&lt;T&gt;, Part I</title><link>http://blogs.msdn.com/charlie/archive/2008/04/28/linqfarm-understanding-ienumerable-t-sets-and-sequences.aspx#9320378</link><pubDate>Thu, 15 Jan 2009 12:14:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9320378</guid><dc:creator>Dirk</dc:creator><description>&lt;p&gt;found my answer:&lt;/p&gt;
&lt;p&gt;System.Collections.Generic.IList&amp;lt;Object&amp;gt; objects = (System.Collections.Generic.IList&amp;lt;Object&amp;gt;)q.ToList();&lt;/p&gt;
</description></item></channel></rss>