<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Channel 9 - Discussions by vcomrhencke</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Niners/vcomrhencke/Discussions/RSS"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>Channel 9 - Discussions by vcomrhencke</title>
		<link>http://channel9.msdn.com/Niners/vcomrhencke/Discussions</link>
	</image>
	<description>Channel 9 keeps you up to date with the latest news and behind the scenes info from Microsoft that developers love to keep up with. From LINQ to SilverLight – Watch videos and hear about all the cool technologies coming and the people behind them.</description>
	<link>http://channel9.msdn.com/Niners/vcomrhencke/Discussions</link>
	<language>en</language>
	<pubDate>Thu, 23 May 2013 12:19:14 GMT</pubDate>
	<lastBuildDate>Thu, 23 May 2013 12:19:14 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<c9:totalResults>0</c9:totalResults>
	<c9:pageCount>0</c9:pageCount>
	<c9:pageSize>0</c9:pageSize>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p>I'd love to see Java-style enums added to C#.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/081b1cf421684cde8e469deb00080231#081b1cf421684cde8e469deb00080231</link>
		<pubDate>Fri, 28 Aug 2009 22:00:06 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/081b1cf421684cde8e469deb00080231#081b1cf421684cde8e469deb00080231</guid>
		<dc:creator>vcomrhencke</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/vcomrhencke/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Tuple type</title>
		<description><![CDATA[<p>I actually developed my own tuple library in 2.0 that I've used for a few years, which ended up being very similar to what's coming in 4.0, so I'm actually in an oddly appropriate place to comment on this.&nbsp; <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>&nbsp;</p>
<p>Tuples fit very nicely between concrete property classes and anonymous types in their degree of formality. &nbsp;Like concrete classes, and unlike anonymous types, they can be easily returned from methods. &nbsp;Like anonymous types, and unlike concrete classes, they
 are very simple to create and maintain. &nbsp;(Anyone who has ever had to implement the whole Equals/GetHashCode/op_Equality/op_Inequality thing knows what I mean... ugh.)</p>
<p>&nbsp;</p>
<p>Tuples are great as quick and easy keys for dictionaries stored in class fields. &nbsp;For example, let's say you needed a field in your class that would allow fast lookup of someone by name and favorite color. &nbsp; (Ok, that's a little arbitrary, but pretend it's
 some multi-value key you didn't want to have to write and maintain a whole internal class for.) &nbsp;</p>
<p>&nbsp;</p>
<p>Currently, you would need to do something along the lines of:</p>
<p>&nbsp;</p>
<pre>private Dictionary&lt;string, Dictionary&lt;Color, Person&gt;&gt; nameAndFaveColorLookup;</pre>
<p>&nbsp;</p>
<p>which isn't very fun to write code against, and doesn't programmatically scale very easily to adding multiple keys.</p>
<p>&nbsp;</p>
<p>Alternatively, you could do:</p>
<p>&nbsp;</p>
<pre>private Dictionary&lt;NameAndFavoriteColor, Person&gt; nameAndFaveColorLookup;</pre>
<pre><br></pre>
<pre>private struct NameAndFavoriteColor : IEquatable&lt;NameAndFavoriteColor&gt;</pre>
<pre>{</pre>
<pre><span>	</span>//... insert properties and equality gunk here ...</pre>
<pre>}</pre>
<p>&nbsp;</p>
<p>which also isn't very fun because you have to maintain a bunch of equality stuff that's tedious and error prone, and is a lot of gruntwork for a simple lookup.</p>
<p>&nbsp;</p>
<p>With tuples, you could create a class field like:</p>
<p>&nbsp;</p>
<pre>private Dictionary&lt;Tuple&lt;string,Color&gt;,Person&gt; nameAndFaveColorLookup;</pre>
<p>&nbsp;</p>
<p>and be done.</p>
<p>&nbsp;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/486777-Tuple-type/3592173e327f453e995c9deb00086805#3592173e327f453e995c9deb00086805</link>
		<pubDate>Tue, 25 Aug 2009 22:53:19 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/486777-Tuple-type/3592173e327f453e995c9deb00086805#3592173e327f453e995c9deb00086805</guid>
		<dc:creator>vcomrhencke</dc:creator>
		<slash:comments>4</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/vcomrhencke/Discussions/RSS</wfw:commentRss>
	</item>
</channel>
</rss>