<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.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>C#, VS Deployment and all geek talk : C#</title><link>http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx</link><description>Tags: C#</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>My Faq on "hashtable lookups for struct types" is published  at http://blogs.msdn.com/CSharpFaq</title><link>http://msmvps.com/blogs/vipul/archive/2006/03/21/How-can-I-speed-up-hashtable-lookups-for-struct-types.aspx</link><pubDate>Tue, 21 Mar 2006 15:48:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:87174</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=87174</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2006/03/21/How-can-I-speed-up-hashtable-lookups-for-struct-types.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Check out &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/csharpfaq/archive/2006/03/20/556192.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://blogs.msdn.com/csharpfaq/archive/2006/03/20/556192.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;for a FAQ on Hashtable lookup for value types.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=87174" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/SQL2005/default.aspx">SQL2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/MVP+Activity/default.aspx">MVP Activity</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx">Tips &amp;amp; Tricks</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/How+To/default.aspx">How To</category></item><item><title>My articles on "Anonymous types" is up</title><link>http://msmvps.com/blogs/vipul/archive/2006/03/08/Anonymous-Types-article.aspx</link><pubDate>Wed, 08 Mar 2006 16:54:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:85747</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=85747</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2006/03/08/Anonymous-Types-article.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Check out &lt;/FONT&gt;&lt;A href="http://www.developer.com/net/csharp/article.php/3589916"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.developer.com/net/csharp/article.php/3589916&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp;for my article on "&lt;STRONG&gt;Anonymous Types&lt;/STRONG&gt;", This cool new feature coming in C# 3.0 is surely going to go places.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Codeguru also contains the same article at &lt;A href="http://www.codeguru.com/csharp/csharp/cs_misc/designtechniques/article.php/c11551/"&gt;http://www.codeguru.com/csharp/csharp/cs_misc/designtechniques/article.php/c11551/&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Next stop,&lt;STRONG&gt; extension me&lt;/STRONG&gt;thods.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=85747" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Beta+Products/default.aspx">Beta Products</category></item><item><title>Guidelines on clean up code</title><link>http://msmvps.com/blogs/vipul/archive/2006/03/07/Guideline-on-cleaning-resources-in-managed-code.aspx</link><pubDate>Tue, 07 Mar 2006 19:14:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:85669</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=85669</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2006/03/07/Guideline-on-cleaning-resources-in-managed-code.aspx#comments</comments><description>Many a times, we use the catch block inside the try catch block for our clean up code. 
&lt;P class=MsoNormal&gt;
&lt;P class=MsoNormal&gt;Something like
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#008000&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;FONT color=#008000&gt;// Do something&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#008000&gt;catch&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#008000&gt;// work failed, clean up code here&lt;/FONT&gt;&lt;BR&gt;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;Rather than the above approach of using the catch block, it would be nicer to use the finally block, something like&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#008000&gt;bool&lt;/FONT&gt; workSuccessful = false;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#008000&gt;try&lt;/FONT&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;//&amp;nbsp;do some work&lt;/FONT&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; workSuccessful = true;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#008000&gt;finally&lt;/FONT&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp; if(!workSuccessfull)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;// cleanup code here.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;There is elegance in the latter method and I would certainly recommend that approach, if you cannot use "&lt;STRONG&gt;&lt;FONT face="Courier New" color=#008000&gt;using&lt;/FONT&gt;&lt;/STRONG&gt;". See below for details.&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;PS&lt;/B&gt;: Use this approach only if better alternatives are not available. One of the automatic cleanup approaches available with C# is the &lt;B&gt;&lt;SPAN&gt;using&lt;/SPAN&gt;&lt;/B&gt; construct.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;Something like,&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;using (TextReader tr = new StreamReader("FileName"))&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;nbsp; // do my work here.&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;The “&lt;B&gt;&lt;SPAN&gt;using&lt;/SPAN&gt;&lt;/B&gt;” construct automatically clean up the unmanaged resource (&lt;SPAN&gt;TextReader&lt;/SPAN&gt;) once the block has completed execution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;In the event that you cannot use "&lt;SPAN&gt;using&lt;/SPAN&gt;", the try-finally approach would be the best way.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=85669" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx">Tips &amp;amp; Tricks</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/How+To/default.aspx">How To</category></item><item><title>When is a static constructor in C# called?</title><link>http://msmvps.com/blogs/vipul/archive/2006/02/20/Static-constructors-in-CSharp.aspx</link><pubDate>Tue, 21 Feb 2006 04:19:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:84343</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=84343</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2006/02/20/Static-constructors-in-CSharp.aspx#comments</comments><description>Confused about static constructors in C#, Read this post......(&lt;a href="http://msmvps.com/blogs/vipul/archive/2006/02/20/Static-constructors-in-CSharp.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://msmvps.com/aggbug.aspx?PostID=84343" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Visual Studio Service Pack WebSite</title><link>http://msmvps.com/blogs/vipul/archive/2006/02/08/Visual-Studio-Service-Pack-WebSite.aspx</link><pubDate>Thu, 09 Feb 2006 01:51:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:82946</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=82946</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2006/02/08/Visual-Studio-Service-Pack-WebSite.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Visual Studio.NET Service Packs are due this year, but their site is up already (The site clearly mentions it is still in process)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/vstudio/support/servicing/default.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/vstudio/support/servicing/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/vstudio/support/servicing/sp1_vs03/default.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;Visual Studio 2003 Service Pack 1 ships Q2, 2006 &lt;/FONT&gt;&lt;/A&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/vstudio/support/servicing/sp1_vs05/default.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;Visual Studio 2005 Service Pack 1 ships Q3, 2006&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=82946" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/ASP.NET+2.0/default.aspx">ASP.NET 2.0</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>.NET Tip - Getting logged in user name in ASP.NET web application</title><link>http://msmvps.com/blogs/vipul/archive/2006/02/07/Show-Logged-In-User-ASPNET.aspx</link><pubDate>Tue, 07 Feb 2006 22:30:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:82806</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=82806</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2006/02/07/Show-Logged-In-User-ASPNET.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Frequently we desire to autopopulate some fields on our web form with the current logged in username and domain.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;How to get that information?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Well, &lt;FONT color=#006400&gt;&lt;STRONG&gt;User.Identity.Name&lt;/STRONG&gt;&lt;/FONT&gt; comes to the rescue.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Set the text property of the field to &lt;FONT color=#008000&gt;&lt;STRONG&gt;User.Identity.Name&lt;/STRONG&gt;&lt;/FONT&gt; and it will show the logged-in username prefixed by the domain information&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=82806" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/ASP.NET+2.0/default.aspx">ASP.NET 2.0</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx">Tips &amp;amp; Tricks</category></item><item><title>Visual Studio Tip of the day - Refactoring - Extracting method</title><link>http://msmvps.com/blogs/vipul/archive/2006/01/27/Visual-Studio-Refactoring-Extract-Method.aspx</link><pubDate>Sat, 28 Jan 2006 00:39:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:81965</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=81965</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2006/01/27/Visual-Studio-Refactoring-Extract-Method.aspx#comments</comments><description>&lt;P&gt;You notice that you have a chuck of code which could easily be transitioned to a new function. How tdo you do that? &lt;/P&gt;
&lt;P&gt;Again, Visual Studio Refactoring menu comes to the rescue.&lt;/P&gt;
&lt;P&gt;Suppose you have the following code in your function&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; Myfunc()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"a"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"b"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"c"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Do some processing here.&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"a"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"b"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"c"&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;STRONG&gt;);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;We realize that code containing &lt;FONT color=#008000&gt;&lt;STRONG&gt;Console.Writeline&lt;/STRONG&gt;&lt;/FONT&gt; is replicated. Select one set of the Console.Writeline instructions and right click &amp;gt; Refactor &amp;gt; Extract Method...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Type the name of the new function you want to create containing the selected lines and Click OK.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;A new method containing the selected lines is created. So your code will look like&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; Myfunc()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;NewMethod();&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Do some processing here.&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"a"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"b"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"c"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;private&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt; NewMethod()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"a"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"b"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"c"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Keyboard shortcut: &lt;STRONG&gt;Ctrl &lt;FONT color=#ff0000&gt;R&lt;/FONT&gt; + Ctrl &lt;FONT color=#ff0000&gt;M&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;&lt;U&gt;Cavaet&lt;/U&gt;&lt;/STRONG&gt;: You will have to delete the second set manually as currently VS editor is not smart enough to replace all the occurances of the selected lines. Maybe in the next version we can get that feature.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81965" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx">Tips &amp;amp; Tricks</category></item><item><title>How to: Determining programmatically if DLL is registered</title><link>http://msmvps.com/blogs/vipul/archive/2006/01/27/Is-DLL-Registered.aspx</link><pubDate>Sat, 28 Jan 2006 00:02:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:81958</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=81958</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2006/01/27/Is-DLL-Registered.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Here is a C# code snippet to determine if a particular DLL is registered or not.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;[DllImport("kernel32")]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT&gt;public&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT&gt; &lt;SPAN&gt;extern&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;int&lt;/SPAN&gt;&lt;/FONT&gt; LoadLibrary(&lt;SPAN&gt;string&lt;/SPAN&gt; lpLibFileName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;[DllImport("kernel32")]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;public&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN&gt;extern&lt;/SPAN&gt; &lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;bool&lt;/SPAN&gt; FreeLibrary(&lt;SPAN&gt;int&lt;/SPAN&gt; hLibModule);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;public&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN&gt;bool&lt;/SPAN&gt; IsDllRegistered(&lt;SPAN&gt;string&lt;/SPAN&gt; DllName)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt; libId = LoadLibrary(DllName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; (libId&amp;gt;0) FreeLibrary(libId);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;return&lt;/SPAN&gt; (libId&amp;gt;0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Source: &lt;A href="http://blogs.msdn.com/asanto/archive/2006/01/22/516011.aspx"&gt;http://blogs.msdn.com/asanto&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81958" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx">Tips &amp;amp; Tricks</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/How+To/default.aspx">How To</category></item><item><title>Visual Studio 2005 - A Guided Tour</title><link>http://msmvps.com/blogs/vipul/archive/2006/01/20/Visual-Studio-Guided-tour.aspx</link><pubDate>Sat, 21 Jan 2006 00:30:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:81553</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=81553</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2006/01/20/Visual-Studio-Guided-tour.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Want to learn more about &lt;STRONG&gt;Visual Studio 2005&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;A href="http://msdn.microsoft.com/msdnmag"&gt;MSDN magazine &lt;/A&gt;folks have come&amp;nbsp; up with a new issue dedicated solely to the new IDE. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Check it out online at &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/06/00/default.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/msdnmag/issues/06/00/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81553" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/How+To/default.aspx">How To</category></item><item><title>Enterprise Library for .NET Framework 2.0 released</title><link>http://msmvps.com/blogs/vipul/archive/2006/01/20/New-version-of-Enterprise-Library-.aspx</link><pubDate>Sat, 21 Jan 2006 00:25:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:81552</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=81552</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2006/01/20/New-version-of-Enterprise-Library-.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Wohoo! &lt;STRONG&gt;Enterprise library for .NET Framework 2.0&lt;/STRONG&gt; has just been released.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;More details at &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/?url=/library/en-us/dnpag2/html/EntLib2.asp"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/library/?url=/library/en-us/dnpag2/html/EntLib2.asp&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;Direct&lt;/STRONG&gt; &lt;STRONG&gt;download&lt;/STRONG&gt; link: &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5A14E870-406B-4F2A-B723-97BA84AE80B5&amp;amp;displaylang=en"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=5A14E870-406B-4F2A-B723-97BA84AE80B5&amp;amp;displaylang=en&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81552" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/ASP.NET+2.0/default.aspx">ASP.NET 2.0</category></item><item><title>FYI: System.Web.Mail is deprecated use System.Net.Mail</title><link>http://msmvps.com/blogs/vipul/archive/2005/11/30/77307.aspx</link><pubDate>Wed, 30 Nov 2005 16:50:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:77307</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=77307</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2005/11/30/77307.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;While we are on the topic of &lt;A href="http://msdn2.microsoft.com/en-us/library/system.web.mail.aspx"&gt;&lt;FONT color=#355ea0&gt;System.Web.Mail&lt;/FONT&gt;&lt;/A&gt;, it is important to note a new namespace in version 2.0 of the .NET Framework.&amp;nbsp;&amp;nbsp;There is a&amp;nbsp;brand new namespace for sending mail&amp;nbsp;via managed code, it&amp;nbsp;is called &lt;A href="http://msdn2.microsoft.com/en-us/library/system.net.mail.aspx"&gt;&lt;FONT color=#355ea0&gt;System.Net.Mail&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; Have no fear, System.Web.Mail is still accessible in v2.0 but it is deprecated.&amp;nbsp; (Which means v2.0 won't break your code but you should strongly consider using System.Net.Mail in new development.)&amp;nbsp; The documentation for System.Web.Mail is updated to reflect this.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=77307" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/ASP.NET+2.0/default.aspx">ASP.NET 2.0</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>Absolute Beginner's Video Series to Visual Studio 2005 Express Editions </title><link>http://msmvps.com/blogs/vipul/archive/2005/11/30/77303.aspx</link><pubDate>Wed, 30 Nov 2005 16:45:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:77303</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=77303</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2005/11/30/77303.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Georgia size=2&gt;Do you have some students who want to learn Visual Basic .NET or C# on their own? Or perhaps you want to learn them as part of your own professional development. Well if so, Microsoft has a free series of lessons for absolute beginners. They look pretty good to me. I am sure that may others will find them useful as well.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Georgia size=2&gt;Visual Basic Express -&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/vstudio/express/vb/learning/default.aspx"&gt;&lt;FONT face=Georgia color=#355ea0 size=2&gt;http://msdn.microsoft.com/vstudio/express/vb/learning/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Georgia size=2&gt; &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Georgia size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Georgia color=#000000 size=2&gt;Visual C# Express - &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/vstudio/express/visualcsharp/learning/default.aspx"&gt;&lt;FONT face=Georgia color=#355ea0 size=2&gt;http://msdn.microsoft.com/vstudio/express/visualcsharp/learning/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=77303" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/ASP.NET+2.0/default.aspx">ASP.NET 2.0</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>Why Upgrade to Version 2.0 of the .Net Compact Framework? </title><link>http://msmvps.com/blogs/vipul/archive/2005/11/30/77301.aspx</link><pubDate>Wed, 30 Nov 2005 16:41:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:77301</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=77301</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2005/11/30/77301.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Steven Pratschner, Program Manager, .NET Compact Framework, lists down reasons why one should upgrade ot the latest version of the .NET compact framework.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Highlights:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;Applications run faster&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;Developers are more productive&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;Developers are more productive&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;Developing secure applications is much easier&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;Access to Data is faster and more scalable&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;Developers can build more sophisticated user interfaces&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Tahoma size=2&gt;Platform stability and security continues to increase&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Need more information? Check out his blog post at&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/FONT&gt;&lt;A href="https://blogs.msdn.com/stevenpr/archive/2005/11/30/498481.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;https://blogs.msdn.com/stevenpr/archive/2005/11/30/498481.aspx&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=77301" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category></item><item><title>Developer Blogs to watch out for</title><link>http://msmvps.com/blogs/vipul/archive/2005/11/08/74914.aspx</link><pubDate>Wed, 09 Nov 2005 00:03:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:74914</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=74914</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2005/11/08/74914.aspx#comments</comments><description>&lt;P&gt;&lt;SPAN&gt;With a plethora of blogs floating on the internet, it is hard to find the blogs which make a &lt;STRONG&gt;&lt;U&gt;&lt;SPAN&gt;difference&lt;/SPAN&gt;&lt;/U&gt;&lt;/STRONG&gt;. Below is a collection of blogs of authors whose books we have read and blogs of people who make the technology.&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I spent some time to find out such information and post it so that it will be useful for people who want to hear (read) from the horse's mouth.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Below are the links of blogs of personalities whose blogs I find interesting to read:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;
&lt;HR id=null&gt;
&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class=MsoTableGrid cellSpacing=0 cellPadding=0&gt;

&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;Covers&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;Blog Link&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;RSS&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;Atom&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;A name=CP_List&gt;&lt;SPAN&gt;Charles Petzold&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; (Windows programming guru)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Windows programming, C#, Indigo&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://www.charlespetzold.com/"&gt;http://www.charlespetzold.com&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://www.charlespetzold.com/rss.xml"&gt;RSS&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;A name=DB_List&gt;&lt;SPAN&gt;Don Box&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Windows Architech (Microsoft)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://www.pluralsight.com/blogs/dbox/default.aspx"&gt;http://www.pluralsight.com/blogs/dbox/default.aspx&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://pluralsight.com/blogs/dbox/Rss.aspx"&gt;RSS&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;A name=SL_List&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;SPAN&gt;Stanley&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt; Lippman&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;C++ guru&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/slippman/"&gt;http://blogs.msdn.com/slippman/&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/slippman/rss.aspx"&gt;RSS&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/slippman/atom.aspx"&gt;Atom&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;A name=SS_list&gt;&lt;SPAN&gt;Somasegar&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Corporate VP, DevDiv, Microsoft&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/somasegar/default.aspx"&gt;http://blogs.msdn.com/somasegar/default.aspx&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/somasegar/rss.aspx"&gt;RSS&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/somasegar/atom.aspx"&gt;Atom&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;A name=BA_list&gt;&lt;SPAN&gt;Brad Abrams&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;CLR, .NET&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/brada/"&gt;http://blogs.msdn.com/brada/&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/brada/rss.aspx"&gt;RSS&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/brada/atom.aspx"&gt;Atom&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;A name=SH_List&gt;&lt;SPAN&gt;Scott Hanselman&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;ASP.NET guru&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://www.hanselman.com/blog/"&gt;http://www.hanselman.com/blog/&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://feeds.feedburner.com/ScottHanselman"&gt;RSS&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://feeds.feedburner.com/ScottHanselman"&gt;Atom&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;A name=CFAQ_List&gt;&lt;SPAN&gt;C# Faq&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;C#&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/csharpfaq/"&gt;http://blogs.msdn.com/csharpfaq/&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/csharpfaq/rss.aspx"&gt;RSS&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/csharpfaq/atom.aspx"&gt;Atom&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;A name=SM_List&gt;&lt;SPAN&gt;Sahil Malik&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;ADO.NET&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://codebetter.com/blogs/sahil.malik/"&gt;http://codebetter.com/blogs/sahil.malik/&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://codebetter.com/blogs/sahil.malik/rss.aspx"&gt;RSS&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://codebetter.com/blogs/sahil.malik/atom.aspx"&gt;Atom&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;A name=RS_List&gt;&lt;SPAN&gt;Robert Scoble&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Various Technology&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://scobleizer.wordpress.com/"&gt;http://scobleizer.wordpress.com/&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://scobleizer.wordpress.com/feed/"&gt;RSS&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;A name=LO_List&gt;&lt;SPAN&gt;Larry Osterman&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Core technlogies&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/larryosterman/"&gt;http://blogs.msdn.com/larryosterman/&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/larryosterman/rss.aspx"&gt;RSS&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/larryosterman/atom.aspx"&gt;Atom&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp; 
&lt;HR id=null&gt;
&lt;/o:p&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;There are many others whose blogs I read and I will be updating this site as soon as I get some time. If you feel that there is more to the list, please leave me a comment and I will check it out.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Who’s who in the list above:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;U&gt;Charles Petzold&lt;/U&gt;&lt;/STRONG&gt;: The guru of Windows programming. Since Windows 3.1, he has been writing books on Windows programming. If anyone can talk on Windows programming, he can.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;U&gt;Don Box:&lt;/U&gt;&lt;/STRONG&gt; The architect of the next version of Windows (Vista) and the geek (not Greek) mythology that shadows it can be answered by him and him only. When not confusing (enlightening) me on the future of Messages &amp;amp; designing the next generation of Windows, he takes time to write a blog and is quite humorous in his style.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;U&gt;Stanley Lippman&lt;/U&gt;&lt;/STRONG&gt;: C++ guys should watch out for his blog&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;U&gt;Somasegar&lt;/U&gt;&lt;/STRONG&gt;: When the Corporate VP of Developer Division at Microsoft writes, the developers across the blog read, coz what he writes about affects their bread and butter. His is the blog to look out for happening in the Microsoft Developer Tools camp.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;U&gt;Brad Abrams&lt;/U&gt;&lt;/STRONG&gt;: No one speaks of the CLR internals with as much clarity as the Lead Program Manager of CLR team at Microsoft.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;U&gt;Scott Hanselman&lt;/U&gt;&lt;/STRONG&gt;: ASP.NET guys and .NET developers in general cannot afford to miss this blog. His post in the questions every .NET developer should know (&lt;A href="http://www.hanselman.com/blog/WhatGreatNETDevelopersOughtToKnowMoreNETInterviewQuestions.aspx"&gt;link&lt;/A&gt;) should be familiar to anyone appearing for interviews for .NET positions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;U&gt;C# FAQ&lt;/U&gt;&lt;/STRONG&gt;: The C# team at Microsoft has a FAQ blog, which is updated by C# team and C# MVPS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;U&gt;Sahil Malik&lt;/U&gt;&lt;/STRONG&gt;: Kiss-ass attitude is what I like about his blog. His latest book Professional ADO.NET 2.0 is selling wonders. His language may be rough, but he gets his point across.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;U&gt;Robert Scoble&lt;/U&gt;&lt;/STRONG&gt;: Think blog! Meet Robert Scoble. No, RSS does not stand for Robert Scoble Syndication, but this guys writes all about Microsoft, good and bad. Hats off to him.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;U&gt;Larry Osterman&lt;/U&gt;&lt;/STRONG&gt;: His is a very geeky blog and he explains everything in detail.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial color=#000000 size=2&gt;Comments are very welcome and if my limited reading should be expanded, please mention who I missed in this list.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial color=#000000 size=2&gt;PS:.As I am writing this, I know Robert will scold me for not formatting it nicely. Sorry Robert, but I am a HTML dummy.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=74914" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/SQL2005/default.aspx">SQL2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/ASP.NET+2.0/default.aspx">ASP.NET 2.0</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>Express Editions of Visual Studio and SQL Server for free*</title><link>http://msmvps.com/blogs/vipul/archive/2005/11/07/74652.aspx</link><pubDate>Mon, 07 Nov 2005 20:21:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:74652</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=74652</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2005/11/07/74652.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Yes, for a limited time (1 year), Visual Studio express editions are going to be &lt;STRONG&gt;free&lt;/STRONG&gt;. SQL Server Express editions will be free always.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;More details at &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/vstudio/express/"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/vstudio/express/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Start downloading folks.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Clarifications on the free offer at &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx#pricing"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx#pricing&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Complete FAQ at &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;And yes, you cannot develop V1.1 applications with VS2005 Express editions. :( tsk tsk&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=74652" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/SQL2005/default.aspx">SQL2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/ASP.NET+2.0/default.aspx">ASP.NET 2.0</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>.NET Compact Framework v2 is ready for download</title><link>http://msmvps.com/blogs/vipul/archive/2005/10/31/73679.aspx</link><pubDate>Mon, 31 Oct 2005 16:12:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:73679</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=73679</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2005/10/31/73679.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;.NET Compact Framework v2 is now ready and available for download !&amp;nbsp; As of today we have the English end-user download and the Platform Builder QFE available.&amp;nbsp; Remaining language downloads will be released in the new few weeks as we get the localized download pages completed.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9655156b-356b-4a2c-857c-e62f50ae9a55&amp;amp;displaylang=en"&gt;&lt;FONT face=Verdana color=#355ea0 size=2&gt;.NET Compact Framework 2.0 End User Download&lt;BR&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;Component: .NET CF v2.0&lt;BR&gt;Description: Integration of .NET Compact Framework v2.0 into Windows CE 5.0.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=90c1a19f-1210-4557-a000-74f8d5b4e1d0&amp;amp;DisplayLang=en"&gt;&lt;FONT face=Verdana color=#355ea0 size=2&gt;Windows CE 5.0 Platform Builder Update 051027_KB904260&lt;BR&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;Overview:&amp;nbsp; The Microsoft&amp;#174; .NET Compact Framework 2.0 Redistributable includes everything you need to run applications built for both NET Compact Framework v1 and v2, including the Common Language Runtime and the .NET Compact Framework class library&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=73679" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/ASP.NET+2.0/default.aspx">ASP.NET 2.0</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category></item><item><title>Using intrinsic memory management with C#</title><link>http://msmvps.com/blogs/vipul/archive/2005/09/21/67336.aspx</link><pubDate>Wed, 21 Sep 2005 20:56:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:67336</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=67336</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2005/09/21/67336.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Consider the following code snippet&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#000080&gt;// Declare the reader.&lt;BR&gt;SqlDataReader reader = null;&lt;BR&gt;&lt;BR&gt;// Use the reader here.&lt;BR&gt;try&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Create the reader.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reader = new SqlDataReader(...);&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Use the reader.&lt;BR&gt;}&lt;BR&gt;catch&lt;BR&gt;{&lt;BR&gt;}&lt;BR&gt;finally&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Check the reader for null. If it is not, then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// dispose.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (reader != null)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Dispose of it.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((IDisposable) reader).Dispose();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Here, we are checking whether the reader is disposed or not. If not, we are disposing it explicitly. This is equivalent to being a good C# citizen and disposing off variables which are not required.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;There is now a even better method of automatic memory management. The &amp;#8220;using&amp;#8220; keyword.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Here is how it works.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#000080&gt;SqlDataReader data;&lt;BR&gt;using (data = command.ExecuteReader(CommandBehavior.CloseConnection))&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( data.Read() )&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("Company Name " +&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data.GetString(data.GetOrdinal("CompanyName"));&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// automatically calls data.Dispose();&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Here is the link to the MSDN page describing this behavior (&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csspec/html/vclrfcsharpspec_8_13.asp"&gt;&lt;FONT face=Tahoma size=2&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csspec/html/vclrfcsharpspec_8_13.asp&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;The beauty of this approach is that memory management becomes intrinsic. Hats off to the new keyword &amp;#8220;using&amp;#8221;.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=67336" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category></item><item><title>How many threads does a typical managed process have when it just starts to run?</title><link>http://msmvps.com/blogs/vipul/archive/2005/08/18/63194.aspx</link><pubDate>Thu, 18 Aug 2005 14:33:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:63194</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=63194</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2005/08/18/63194.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Source: Yun Jin's blog at &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/yunjin"&gt;&lt;FONT face=Tahoma size=2&gt;http://blogs.msdn.com/yunjin&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face=Tahoma&gt;&lt;STRONG&gt;Answer:&lt;/STRONG&gt; regardless how many threads the user creates, there are at least 3 threads for a common managed process after CLR starts up: a main thread which starts CLR and run user's Main method, CLR debugger helper thread which provides debugging service for interop debuggers like Visual Studio, and the finalizer thread which runs finalizers for unreachable objects. Depends on what the program does, CLR might create more threads to perform special tasks.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Sometimes it is important to know what "special" threads would be created in CLR so we could understand better the implicit impact of our managed programs. Here is a list of most common special threads:&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;1. Finalizer thread. The thread is to run finalizers for "dead" objects. This thread is created when GC heap is initialized during EE start up. In Rotor, the thread proc for the thread is &lt;EM&gt;GCHeap::FinalizerThreadStart&lt;/EM&gt; in &lt;EM&gt;vm\gcee.cpp&lt;/EM&gt;. Because GC is undeterministic and finalizers are executed in a separate thread, you can't predict when exactly an object will be finalized. Because there is only one thread to run all finalizers, if one finalizer is blocked, no other finalizers could run. So it is discouraged to take any lock in finalizer. Also see &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/maoni/archive/2004/11/04/252697.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;Maoni Stephens's blog&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; for details about finalizer thread.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=Tahoma size=2&gt;2. Debugger helper thread. As its name suggests, this thread helps interop debugger to get information of the managed process and to execute certain debugging operations. The thread is created when EE initializes debugger during start up. In Rotor, the thread proc for this thread is &lt;EM&gt;DebuggerRCThread::ThreadProcStatic (debug\ee\Rcthread.cpp)&lt;/EM&gt;. Also see &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;Mike Stall's blog &lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;about impact of this helper thread?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=Tahoma size=2&gt;3. Concurrent GC thread (doesn't exist in Rotor). As explained in &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/maoni/archive/2004/09/25/234273.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;Maoni&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; and &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/clyon/archive/2004/09/08/226981.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;Chris Lyon's blog&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;, concurrent GC is a special GC mode which allows garbage to be collected while managed threads are running simultaneously. To achieve this goal, CLR creates a thread to perform GC concurrently with user threads. The thread is only created when CLR decides to do a concurrent GC (even when concurrent GC mode is on, not every GC is concurrent, read Maoni's blog for details) and will be recycled when there are no concurrent GC work to do. &lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;4. Server GC threads (doesn't exist in Rotor). Maoni and Chris also explained Server GC mode where on multi-process machine CLR creates one GC heap for each CPU and one thread to do GC for each heap. When Server GC mode is enabled, server GC threads will be created at EE start up time when GC heaps are initialized. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=Tahoma size=2&gt;5. App Domain unload helper thread. In CLR V1.X, when a thread requests to unload an App Domain and the thread is in that App Domain itself, it needs to create a worker thread to do the unloading work. The worker thread will be dead once the target AD is unloaded. In Rotor, the thread starts with &lt;EM&gt;UnloadThreadWorker.ThreadStart (bcl\system\Appdomain.cs)&lt;/EM&gt;. In Whidbey, all AD unload work is performed in a special thread regardless whether the requesting thread is in the unloading domain. The helper thread is created when first non-default App Domain is created (default domain is never unloaded) and will stay alive since then. Also see &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/cbrumme/archive/2003/06/01/51466.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;Chris Brumme's blog&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; about details of AD unload.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;6. Threadpool threads. Depends on how a program use CLR threadpool, CLR might create threads of a varieties of types. There is only one thread for some thread type. For other types, number of threads is related to number of CPUs, the work load, and some user configurable settings. The thread types including wait threads (threads to perform asynchronized wait, could be more than one); worker threads (threads to execute user work item, could be more than one); Completion port threads (threads wait for completion port IO in Windows, could be more than one, doesn't exist in Rotor); Gate thread (thread help to monitor status of completion port threads and worker threads, only one); Timer thread (thread manages timer queue, only one). &lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=63194" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category></item><item><title>Power Collections for .NET</title><link>http://msmvps.com/blogs/vipul/archive/2005/08/02/60851.aspx</link><pubDate>Tue, 02 Aug 2005 20:17:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:60851</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=60851</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2005/08/02/60851.aspx#comments</comments><description>&lt;P&gt;Did you feel that a powerful Collection library for public domain was missing?&lt;/P&gt;
&lt;P&gt;Well, its here now...&lt;/P&gt;
&lt;P&gt;Check out &lt;A href="http://www.wintellect.com/powercollections/"&gt;http://www.wintellect.com/powercollections/&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A brief description:&lt;/P&gt;
&lt;P&gt;With .NET 2.0 comes the ability to implement what has been known in C++ as template classes. Generics are like C++ templates, only better. To learn more about generics, check out &lt;A href="http://www.wintellect.com/about/instructors/instructorbios.aspx?id=11"&gt;Jason Clark&amp;#8217;s&lt;/A&gt; article in MSDN Magazine: &lt;A href="http://msdn.microsoft.com/msdnmag/issues/03/09/NET/"&gt;http://msdn.microsoft.com/msdnmag/issues/03/09/NET/&lt;/A&gt;&lt;/P&gt;
&lt;P class=main&gt;Leading the development effort is Peter Golde, formerly a Lead Designer for the C# language. Peter is currently building the starting set of classes as well as incorporating ideas from the community into a set of collection classes to be made freely available to the public.&lt;/P&gt;
&lt;P class=main&gt;The specifications for the library are at &lt;A href="http://www.wintellect.com/powercollections/spec.aspx"&gt;http://www.wintellect.com/powercollections/spec.aspx&lt;/A&gt;.&lt;/P&gt;
&lt;P class=main&gt;Wintellect is inviting the developer community to give in their suggestions.....More at &lt;A href="http://www.wintellect.com/powercollections/"&gt;http://www.wintellect.com/powercollections/&lt;/A&gt;&lt;/P&gt;
&lt;P class=main&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=main&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=60851" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/ASP.NET+2.0/default.aspx">ASP.NET 2.0</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category></item><item><title>VS 2005 all set to launch</title><link>http://msmvps.com/blogs/vipul/archive/2005/06/08/51198.aspx</link><pubDate>Wed, 08 Jun 2005 15:08:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:51198</guid><dc:creator>Vipul Patel</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vipul/rsscomments.aspx?PostID=51198</wfw:commentRss><comments>http://msmvps.com/blogs/vipul/archive/2005/06/08/51198.aspx#comments</comments><description>&lt;P&gt;Visual Studiuo 2005 is all set to launch in the week of Nov 7, 2005. This was announced in the keynote address at TechEd 2005.&lt;/P&gt;
&lt;P&gt;Aoccrding to official reports on &lt;A href="www.microsoft.com/presspass/press/2005/jun05/TechEd2005Day2PR.mspx"&gt;PressPass&lt;/A&gt; site of Microsoft, &lt;/P&gt;
&lt;P&gt;On the second day of Microsoft&lt;SUP&gt;&amp;#174;&lt;/SUP&gt; Tech&amp;#8226;Ed 2005, Microsoft Corp. continued to speak about the investments the company and industry partners are making across its products to ensure that IT organizations can effectively leverage the Microsoft platform and existing skill sets to maximize value, reduce cost and complexity, and ease the deployment of new applications. As part of the keynote address, Paul Flessner, senior vice president of Server Applications at Microsoft, showed the company&amp;#8217;s continued momentum in preparation for the launch of SQL Server&amp;#8482; 2005, Visual Studio&lt;SUP&gt;&amp;#174;&lt;/SUP&gt; 2005 and BizTalk&lt;SUP&gt;&amp;#174;&lt;/SUP&gt; Server 2006, and announced that these products will be formally launched during the week of Nov. 7. This launch represents a significant milestone and demonstrates Microsoft&amp;#8217;s commitment to delivering the next-generation platform for connected systems that provides unparalleled developer productivity, ability to effectively handle mission-critical applications and an infrastructure to provide better insight into business decisions. &lt;/P&gt;
&lt;P&gt;Now that the dates are published, I just cant wait to get my hands dirty on the release versions, although I can already toying around with the betas.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=51198" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vipul/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://msmvps.com/blogs/vipul/archive/tags/Developer/default.aspx">Developer</category></item></channel></rss>