<?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 Forums - Tech Off - null + null = ?</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Forums/rss"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>Channel 9 Forums - Tech Off - null + null = ?</title>
		<link>http://channel9.msdn.com/Forums</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/Forums</link>
	<language>en</language>
	<pubDate>Fri, 24 May 2013 15:52:06 GMT</pubDate>
	<lastBuildDate>Fri, 24 May 2013 15:52:06 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<c9:totalResults>13</c9:totalResults>
	<c9:pageCount>-13</c9:pageCount>
	<c9:pageSize>-1</c9:pageSize>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p>What would you expect the result of the following code to be?<br /><br /><p class="MsoNormal"><span>[STAThread]</span></p>
<p class="MsoNormal"><span>static</span><span> <span>void</span> Main( <span>string</span>[] args )</span></p>
<p class="MsoNormal"><span>{</span></p>
<p class="MsoNormal"><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Console.WriteLine( ( <span>null</span> &#43;
<span>null</span> ).GetType() );</span></p>
<p class="MsoNormal"><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Console.ReadLine();</span></p>
<p class="MsoNormal"><span>}</span></p>
<br /><br />Now compile it and see for yourself. Magic...</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/5707#5707</link>
		<pubDate>Wed, 05 May 2004 13:31:18 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/5707#5707</guid>
		<dc:creator>Londoner</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Londoner/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p><pre>Here is another one for you:<br><br></pre>
<pre>class Class1</pre>
<pre>{</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int c = true;&nbsp; // &lt;---- It compiles!!</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Class1(): this(0) {}</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Class1(int i): this() {}&nbsp;</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [STAThread]</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main(string[] args)</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</pre>
<pre>}<br></pre></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/20430dcb23ce4c0f84b59dea010fd86b#20430dcb23ce4c0f84b59dea010fd86b</link>
		<pubDate>Wed, 05 May 2004 13:59:58 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/20430dcb23ce4c0f84b59dea010fd86b#20430dcb23ce4c0f84b59dea010fd86b</guid>
		<dc:creator>Londoner</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Londoner/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p>You are aware that both true, false and null have a value. Null is ascii 0, so it is a correct string.&nbsp;<br /><br />true = 1,&nbsp;the value. And&nbsp;false = 0,&nbsp;the value.&nbsp;<br /><br />Try this: <br /><br /><p>int bluh;<br />bluh = Convert.ToInt32 (false); <br />Console.WriteLine( bluh );<br />bluh = Convert.ToInt32 (true); <br />Console.WriteLine( bluh );<br />Console.ReadLine();</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/96f95596ffe5489f91ef9dea010fd894#96f95596ffe5489f91ef9dea010fd894</link>
		<pubDate>Wed, 05 May 2004 16:09:49 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/96f95596ffe5489f91ef9dea010fd894#96f95596ffe5489f91ef9dea010fd894</guid>
		<dc:creator>Manip</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Manip/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p>That doesnt however explain&nbsp; to me why (null &#43; null) will result in string.Empty (see IL below)<br /><br />&nbsp; IL_0000:&nbsp; ldstr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;&quot;<br />&nbsp; IL_0005:&nbsp; callvirt&nbsp;&nbsp; instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()<br />&nbsp; IL_000a:&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void [mscorlib]System.Console::WriteLine(object)<br />&nbsp; IL_000f:&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string [mscorlib]System.Console::ReadLine()<br /><br />I understand that overloaded string &#43; operator is being called and nulls converted to &quot;&quot;. But why string is chosen in the first place? IMO it should not be possible to compile this code at all...<br /><br />Regarding my seconds example, C# compiler is being confused by&nbsp;the use of constructors and&nbsp;does no type checking, so that the following would still compile :<br /><br />public string h = 56;<br />public DateTime k = 0;<br />public int i = &quot;dfsf&quot;;<br />public Class1() : this(0)<br />{}</p>
<p>public Class1(int i) : this() <br />{}<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/5980b9f7a0224c1b82b49dea010fd8c0#5980b9f7a0224c1b82b49dea010fd8c0</link>
		<pubDate>Wed, 05 May 2004 18:13:25 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/5980b9f7a0224c1b82b49dea010fd8c0#5980b9f7a0224c1b82b49dea010fd8c0</guid>
		<dc:creator>Londoner</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Londoner/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p><blockquote>
<div>Londoner wrote:</div>
<div>That doesnt however explain&nbsp; to me why (null &#43; null) will result in string.Empty (see IL below)</div>
</blockquote>
<br /><br />Maybe it nulifies itself sort of&nbsp;like when you mutiple a negitive times a negitive...</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/d2720d6392dc4e1d90179dea010fd8ea#d2720d6392dc4e1d90179dea010fd8ea</link>
		<pubDate>Wed, 05 May 2004 23:05:19 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/d2720d6392dc4e1d90179dea010fd8ea#d2720d6392dc4e1d90179dea010fd8ea</guid>
		<dc:creator>Shining Arcanine</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Shining Arcanine/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p>The reason for null &#43; null == String.Empty will be because the &#43; operator is defined on string and takes two string references. It would seem that concatenation of two null strings has been defined as an empty string.<br /><br />It's an interesting observation. I guess somewhere it's probably defined that the string operators will always be called in this case. I tried to create a class that also defined a &#43; overload but the string overload was always called..<br /><br />There're tonnes of little things like this in framework. Try casting null to a SqlBinary for example, then try casting null to SqlBoolean.. they're both nullable types.. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif' alt='Wink' /><br /><br />Did you know that true is an operator..?<br /><br />John.<br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/f399e5aa4d3f490097359dea010fd915#f399e5aa4d3f490097359dea010fd915</link>
		<pubDate>Thu, 06 May 2004 00:12:53 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/f399e5aa4d3f490097359dea010fd915#f399e5aa4d3f490097359dea010fd915</guid>
		<dc:creator>jj5</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/jj5/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p>I think I jumped the gun a little too quick on this one. I didn't look at the IL. Obviously what happened here is that C# compiler decided that null &#43; null was a constant expression and substitued it with an empty string.<br /><br />So it was the C# compiler that decided that the type of the null references concatenation was 'string'. I'm not sure where this behavior would be documented, but I'm sure it would be..<br /><br />You can't compile something like this:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object a = null;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object b = null;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine((a &#43; b).GetType());<br /><br />Nor can you compile something like this:<br /><br />&nbsp; public class MyType {<br />&nbsp;&nbsp;&nbsp; public static MyType operator &#43; (object a, object b) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ..<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp; }<br /><br />I can't imagine any other 'null &#43; null' case that the CLR might actually see at runtime (i.e. where the type information was missing). With the type information present there are rules for determining which operator overload will get called..<br /><br />So, this is a C# language feature it would seem. I wonder what happens in other .NET languages..<br /><br />John.<br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/fb66ea8130dd498393a09dea010fd942#fb66ea8130dd498393a09dea010fd942</link>
		<pubDate>Thu, 06 May 2004 04:26:46 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/fb66ea8130dd498393a09dea010fd942#fb66ea8130dd498393a09dea010fd942</guid>
		<dc:creator>jj5</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/jj5/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p><blockquote>
<div>Londoner wrote:</div>
<div>
<pre>Here is another one for you:<br><br></pre>
<pre>class Class1</pre>
<pre>{</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int c = true;&nbsp; // &lt;---- It compiles!!</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Class1(): this(0) {}</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Class1(int i): this() {}&nbsp;</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [STAThread]</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main(string[] args)</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</pre>
<pre>}<br></pre>
<p dir="ltr"></p>
</div>
</blockquote>
<br /><br />It compiles because there is no syntax error, and the compiler can make code for it, just as it does for this:<br /><br />public void First()<br />{<br />&nbsp; this.Second();<br />}<br /><br />public void Second()<br />{<br />&nbsp; this.First();<br />}<br /><br />It's no different. The compiler isn't fooled, it is doing exactly what you told it to do.
<p></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/3929c9c1a895404caf9c9dea010fd98a#3929c9c1a895404caf9c9dea010fd98a</link>
		<pubDate>Thu, 06 May 2004 12:34:15 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/3929c9c1a895404caf9c9dea010fd98a#3929c9c1a895404caf9c9dea010fd98a</guid>
		<dc:creator>Martin</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Martin/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p><blockquote>
<div>Londoner wrote:</div>
<div>What would you expect the result of the following code to be?<br /><br /><p>[STAThread]</p>
<p>static void Main( string[] args )</p>
<p>{</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine( ( null &#43; null ).GetType() );</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.ReadLine();</p>
<p>}</p>
<br /><br />Now compile it and see for yourself. Magic...</div>
</blockquote>
<br /><br />hey londoner - sorry for the very late reply <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />...i got an answer from one of the c# compiler guys on this:<br /><br /><div>The compiler is applying &quot;overload resolution&quot; on the &#43; operator to pick the best &#43;. The only predefined &#43; operator for which null can be used as an argument is the string concatenation operator.</div>
<div>&nbsp;</div>
<div>Note that this will change in Whidbey. With support for nullable types, there are now other predefined &#43; operators that work, like &#43;(int?, int?). This code will then generate an ambiguity error.<br /></div></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/a372dcc8c48840a3b0ef9dea010fd9b5#a372dcc8c48840a3b0ef9dea010fd9b5</link>
		<pubDate>Sat, 22 May 2004 03:25:48 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/a372dcc8c48840a3b0ef9dea010fd9b5#a372dcc8c48840a3b0ef9dea010fd9b5</guid>
		<dc:creator>spod</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/spod/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p><blockquote>
<div>Londoner wrote:</div>
<div>
<pre>Here is another one for you:<br><br></pre>
<pre>class Class1</pre>
<pre>{</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int c = true;&nbsp; // &lt;---- It compiles!!</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Class1(): this(0) {}</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Class1(int i): this() {}&nbsp;</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [STAThread]</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main(string[] args)</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</pre>
<pre>}<br></pre>
</div>
</blockquote>
<br /><br />The first, the &quot;public int c = true; &quot; is front of the constructor, so that it will be initialized before them.<br /><br />The second, true equals 0 and false equals 1 in some way like bit of SqlDbType. <br /><br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/e9072d79040e4e2d9ffc9dea010fd9fe#e9072d79040e4e2d9ffc9dea010fd9fe</link>
		<pubDate>Mon, 24 May 2004 09:39:13 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/e9072d79040e4e2d9ffc9dea010fd9fe#e9072d79040e4e2d9ffc9dea010fd9fe</guid>
		<dc:creator>Kenneth.L</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Kenneth.L/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p><blockquote>
<div>Londoner wrote:</div>
<div>
<pre>Here is another one for you:<br><br></pre>
<pre>class Class1</pre>
<pre>{</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int c = true;&nbsp; // &lt;---- It compiles!!</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Class1(): this(0) {}</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Class1(int i): this() {}&nbsp;</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [STAThread]</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main(string[] args)</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</pre>
<pre>}<br></pre>
</div>
</blockquote>
<br />yes,this class(Class1) can be compiled,but why the following cannot be compiled.<br /><br /><pre>class Class1</pre>
<pre>{</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int c = true;&nbsp; // &lt;---- It compiles!!</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Class1(int i){}&nbsp;</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [STAThread]</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main(string[] args)</pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</pre>
<pre>}<br><br><br>I am pretty confused when the C# compiler issues a compile-time error<br>saying that there is no explicit conversion from boolean type to int32 type.<br>I just wanna simply ask why?<br></pre></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/acc29a06ebc44a9ab8a79dea010fda47#acc29a06ebc44a9ab8a79dea010fda47</link>
		<pubDate>Tue, 25 May 2004 11:44:10 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/acc29a06ebc44a9ab8a79dea010fda47#acc29a06ebc44a9ab8a79dea010fda47</guid>
		<dc:creator>Zhou Yong</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/footballism/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p>I think this is a ( minor )compiler bug. The self referencing constructors seem to have it pretty confused - it should probably throw a diagnostic here.
<br /><br />It's somewhat of an edge case( you could never construct a class1 without a stack overflow&nbsp;).
<br /><br />What's happening is that the compiler is seeing that it can never construct one of these things so isn't rewriting the class to add the initializers to the constructor. So it sees
<br /><br />public int c; // ( no = true )<br /><br /><br />This doesn't&nbsp;just work for bools of course - this class gives the appearance of being&nbsp;a general &quot;reinterpret_cast&lt;&gt; class <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />&quot; able to convert any type to any type...so the following compiles fine also...<br /><br /></p>
<p>class Class1<br />{<br />public int c = true; // &lt;---- It compiles!!<br />public DateTime d = 10.243;<br />public float f = &quot;Rabbit&quot;;<br />public Guid g = new DateTime( &quot;10/10/2002 10:53Z&quot; );<br />public Class1(): this(0) {}<br />public Class1(int i) : this() {} <br />}</p>
<p>&nbsp;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/eb2c36b25a7a4c2b9a019dea010fda74#eb2c36b25a7a4c2b9a019dea010fda74</link>
		<pubDate>Tue, 25 May 2004 13:14:48 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/eb2c36b25a7a4c2b9a019dea010fda74#eb2c36b25a7a4c2b9a019dea010fda74</guid>
		<dc:creator>spod</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/spod/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - null + null = ?</title>
		<description><![CDATA[<p>so, the recursion invocation of constructors fool the C# compiler&nbsp;into believing the field&nbsp;'c'&nbsp;isn't initialized.so&nbsp;you can&nbsp;assign any&nbsp;type of values&nbsp;to it,yes,it's&nbsp;really a minor bug.&nbsp;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/5707-null--null--/6c23e0fc36a246ddac199dea010fda9d#6c23e0fc36a246ddac199dea010fda9d</link>
		<pubDate>Tue, 25 May 2004 14:09:00 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/5707-null--null--/6c23e0fc36a246ddac199dea010fda9d#6c23e0fc36a246ddac199dea010fda9d</guid>
		<dc:creator>Zhou Yong</dc:creator>
		<slash:comments>13</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/footballism/Discussions/RSS</wfw:commentRss>
	</item>
</channel>
</rss>