<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: 5 Hidden Features of C#</title>
	<atom:link href="http://www.componentfactory.com/blog/2008/10/5-hidden-features-of-c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.componentfactory.com/blog/2008/10/5-hidden-features-of-c/</link>
	<description>Windows Forms Controls for .NET Smart Client Applications</description>
	<lastBuildDate>Wed, 08 Sep 2010 18:44:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Алексей</title>
		<link>http://www.componentfactory.com/blog/2008/10/5-hidden-features-of-c/comment-page-1/#comment-2452</link>
		<dc:creator>Алексей</dc:creator>
		<pubDate>Wed, 27 May 2009 21:49:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=382#comment-2452</guid>
		<description>Самый интересный web сайт о новинках коммуникаторах, а также тесты сотовых устройств</description>
		<content:encoded><![CDATA[<p>Самый интересный web сайт о новинках коммуникаторах, а также тесты сотовых устройств</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Denny</title>
		<link>http://www.componentfactory.com/blog/2008/10/5-hidden-features-of-c/comment-page-1/#comment-2054</link>
		<dc:creator>Denny</dc:creator>
		<pubDate>Thu, 16 Oct 2008 13:29:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=382#comment-2054</guid>
		<description>Yeah good stuff, Serge:  it&#039;s that you have a public contact that says here is a property.
today it might just be an int, but later.... if you find a need to do more you can modify the internal implimentation w/o breaking the public contract.
that&#039;s why.</description>
		<content:encoded><![CDATA[<p>Yeah good stuff, Serge:  it&#8217;s that you have a public contact that says here is a property.<br />
today it might just be an int, but later&#8230;. if you find a need to do more you can modify the internal implimentation w/o breaking the public contract.<br />
that&#8217;s why.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Gough</title>
		<link>http://www.componentfactory.com/blog/2008/10/5-hidden-features-of-c/comment-page-1/#comment-2052</link>
		<dc:creator>Sean Gough</dc:creator>
		<pubDate>Thu, 16 Oct 2008 12:59:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=382#comment-2052</guid>
		<description>Nice list Phil...lots more goodies can be found here too -- http://stackoverflow.com/questions/9033/hidden-features-of-c#9125</description>
		<content:encoded><![CDATA[<p>Nice list Phil&#8230;lots more goodies can be found here too &#8212; <a href="http://stackoverflow.com/questions/9033/hidden-features-of-c#9125" rel="nofollow">http://stackoverflow.com/questions/9033/hidden-features-of-c#9125</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Denis Bittencourt Muniz</title>
		<link>http://www.componentfactory.com/blog/2008/10/5-hidden-features-of-c/comment-page-1/#comment-2045</link>
		<dc:creator>Denis Bittencourt Muniz</dc:creator>
		<pubDate>Wed, 15 Oct 2008 18:01:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=382#comment-2045</guid>
		<description>A secret keyword to invoke functions that have varargs (e.g. C language) parameters: __arglist. However, on VB it not possible.</description>
		<content:encoded><![CDATA[<p>A secret keyword to invoke functions that have varargs (e.g. C language) parameters: __arglist. However, on VB it not possible.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan F</title>
		<link>http://www.componentfactory.com/blog/2008/10/5-hidden-features-of-c/comment-page-1/#comment-2037</link>
		<dc:creator>Dan F</dc:creator>
		<pubDate>Mon, 13 Oct 2008 09:28:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=382#comment-2037</guid>
		<description>Good list Phil!

For the VB&#039;ers out there, here&#039;s some translations:

1. Return If(reference, _defaultInstance)
Yep, the If looks pretty dang terrible, but that&#039;s the blessed way to do a null coalesce in VB.Net

2. Replace square brackets with pointy brackets

3. Us poor old VB coders don&#039;t get automatic properties. Dang!

4. Dim emp As Employee = New Employee With {.Name = &quot;John Smith&quot;, .Age=10}
Note the dots, that&#039;s the big difference when doing copy paste translations

5. Er... no idea about this one. It reminds me too much of the oldskool VB data type characters that my brain shuts down reading it :-)</description>
		<content:encoded><![CDATA[<p>Good list Phil!</p>
<p>For the VB&#8217;ers out there, here&#8217;s some translations:</p>
<p>1. Return If(reference, _defaultInstance)<br />
Yep, the If looks pretty dang terrible, but that&#8217;s the blessed way to do a null coalesce in VB.Net</p>
<p>2. Replace square brackets with pointy brackets</p>
<p>3. Us poor old VB coders don&#8217;t get automatic properties. Dang!</p>
<p>4. Dim emp As Employee = New Employee With {.Name = &#8220;John Smith&#8221;, .Age=10}<br />
Note the dots, that&#8217;s the big difference when doing copy paste translations</p>
<p>5. Er&#8230; no idea about this one. It reminds me too much of the oldskool VB data type characters that my brain shuts down reading it :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Serge Wautier</title>
		<link>http://www.componentfactory.com/blog/2008/10/5-hidden-features-of-c/comment-page-1/#comment-2036</link>
		<dc:creator>Serge Wautier</dc:creator>
		<pubDate>Mon, 13 Oct 2008 09:03:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=382#comment-2036</guid>
		<description>Very interesting! Thanks for sharing.

C# 3.0 goodies don&#039;t require .NET 3.0. They only require VS2008. Of course, some of the new stuff (such as LINQ) requires .NET 3.

Regarding automatic properties, in your example, what&#039;s the purpose? What does it achieve vs simly having a variable?</description>
		<content:encoded><![CDATA[<p>Very interesting! Thanks for sharing.</p>
<p>C# 3.0 goodies don&#8217;t require .NET 3.0. They only require VS2008. Of course, some of the new stuff (such as LINQ) requires .NET 3.</p>
<p>Regarding automatic properties, in your example, what&#8217;s the purpose? What does it achieve vs simly having a variable?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thorsten Dittmar</title>
		<link>http://www.componentfactory.com/blog/2008/10/5-hidden-features-of-c/comment-page-1/#comment-2035</link>
		<dc:creator>Thorsten Dittmar</dc:creator>
		<pubDate>Mon, 13 Oct 2008 08:49:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=382#comment-2035</guid>
		<description>Hi! I&#039;d like to note that you can also concatenate more than two &quot;??&quot; statements, like in

instance = one ?? two ?? three ?? default;

which sets &quot;instance&quot; to the first of &quot;one&quot;, &quot;two&quot; and &quot;three&quot; which is not null. Otherwise it uses &quot;default&quot;.

In C# 3.0 you can also initialize arrays in a new way:

int[] numbers = { 1, 3, 5, 7, 9 };

instead of 

int[] numbers = new int[] { 1, 3, 5, 7, 9 };</description>
		<content:encoded><![CDATA[<p>Hi! I&#8217;d like to note that you can also concatenate more than two &#8220;??&#8221; statements, like in</p>
<p>instance = one ?? two ?? three ?? default;</p>
<p>which sets &#8220;instance&#8221; to the first of &#8220;one&#8221;, &#8220;two&#8221; and &#8220;three&#8221; which is not null. Otherwise it uses &#8220;default&#8221;.</p>
<p>In C# 3.0 you can also initialize arrays in a new way:</p>
<p>int[] numbers = { 1, 3, 5, 7, 9 };</p>
<p>instead of </p>
<p>int[] numbers = new int[] { 1, 3, 5, 7, 9 };</p>
]]></content:encoded>
	</item>
</channel>
</rss>
