<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>C# 411</title>
	<link>http://www.csharp411.com</link>
	<description>C# Information, Code, Tips and News</description>
	<pubDate>Wed, 02 Jul 2008 12:55:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Show Continuous Progress with .NET ProgressBar and MarqueeAnimationSpeed</title>
		<link>http://www.csharp411.com/show-continuous-progress-with-net-progressbar-and-marqueeanimationspeed/</link>
		<comments>http://www.csharp411.com/show-continuous-progress-with-net-progressbar-and-marqueeanimationspeed/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 12:55:47 +0000</pubDate>
		<dc:creator>timm</dc:creator>
		
		<category><![CDATA[Tips]]></category>

		<category><![CDATA[Windows Forms]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/show-continuous-progress-with-net-progressbar-and-marqueeanimationspeed/</guid>
		<description><![CDATA[For some operations such as logging on to a web site or downloading a web page, you may not know how long it will take the operation to finish.&#160; So instead of showing a progress bar with a specified percent complete, you can set the .NET ProgressBar to cycle continuously.
 
<script type="text/javascript">SHARETHIS.addEntry({ title: "Show Continuous Progress with .NET ProgressBar and MarqueeAnimationSpeed", url: "http://www.csharp411.com/show-continuous-progress-with-net-progressbar-and-marqueeanimationspeed/" });</script>]]></description>
			<content:encoded><![CDATA[<p>For some operations such as logging on to a web site or downloading a web page, you may not know how long it will take the operation to finish.&#160; So instead of showing a progress bar with a specified percent complete, you can set the .NET ProgressBar to cycle continuously.</p>
<p><a href="http://www.csharp411.com/wordpress/wp-content/uploads/2008/07/progressbarmarquee.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="148" alt="ProgressBarMarquee" src="http://www.csharp411.com/wordpress/wp-content/uploads/2008/07/progressbarmarquee-thumb.jpg" width="342" border="0" /></a> </p>
<p> <a href="http://www.csharp411.com/show-continuous-progress-with-net-progressbar-and-marqueeanimationspeed/#more-170" class="more-link">(more&#8230;)</a></p>
<p><a href="http://sharethis.com/item?&wp=2.3.3&amp;publisher=638fb947-42f8-4180-9d32-55995ac2fbd3&amp;title=Show+Continuous+Progress+with+.NET+ProgressBar+and+MarqueeAnimationSpeed&amp;url=http%3A%2F%2Fwww.csharp411.com%2Fshow-continuous-progress-with-net-progressbar-and-marqueeanimationspeed%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.csharp411.com/show-continuous-progress-with-net-progressbar-and-marqueeanimationspeed/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C# Read Text File into String</title>
		<link>http://www.csharp411.com/c-read-text-file-into-string/</link>
		<comments>http://www.csharp411.com/c-read-text-file-into-string/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 16:09:24 +0000</pubDate>
		<dc:creator>timm</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[IO]]></category>

		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/c-read-text-file-into-string/</guid>
		<description><![CDATA[Here is the easiest way to read an entire text file into a C# string:
string s = System.IO.File.ReadAllText( path );
  
<script type="text/javascript">SHARETHIS.addEntry({ title: "C# Read Text File into String", url: "http://www.csharp411.com/c-read-text-file-into-string/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Here is the easiest way to read an entire text file into a C# string:</p>
<blockquote><pre class="code"><span style="color: blue">string </span>s = System.IO.<span style="color: #2b91af">File</span>.ReadAllText( path );</pre>
<p>  <a href="http://11011.net/software/vspaste"></a></p></blockquote>
<p><a href="http://sharethis.com/item?&wp=2.3.3&amp;publisher=638fb947-42f8-4180-9d32-55995ac2fbd3&amp;title=C%23+Read+Text+File+into+String&amp;url=http%3A%2F%2Fwww.csharp411.com%2Fc-read-text-file-into-string%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.csharp411.com/c-read-text-file-into-string/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Disable the Ctrl+Tab Navigator Window in Visual Studio 2008</title>
		<link>http://www.csharp411.com/disable-the-ctrltab-navigator-window-in-visual-studio-2008/</link>
		<comments>http://www.csharp411.com/disable-the-ctrltab-navigator-window-in-visual-studio-2008/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 17:04:21 +0000</pubDate>
		<dc:creator>timm</dc:creator>
		
		<category><![CDATA[Tips]]></category>

		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/disable-the-ctrltab-navigator-window-in-visual-studio-2008/</guid>
		<description><![CDATA[One of the many changes in the upgrade to Visual Studio 2008 is how Ctrl+Tab switches between open documents in the IDE.  Ctrl+Tab used to show the previously viewed document.  But in VS 2008, the IDE Navigator window appears as shown below, and you must press Enter to show the previous document.  An additional Enter [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Disable the Ctrl+Tab Navigator Window in Visual Studio 2008", url: "http://www.csharp411.com/disable-the-ctrltab-navigator-window-in-visual-studio-2008/" });</script>]]></description>
			<content:encoded><![CDATA[<p>One of the many changes in the upgrade to Visual Studio 2008 is how Ctrl+Tab switches between open documents in the IDE.  Ctrl+Tab used to show the previously viewed document.  But in VS 2008, the IDE Navigator window appears as shown below, and you must press Enter to show the previous document.  An additional Enter key doesn't sound like a big inconvenience, but if you do this hundreds of times each day like most developers, you will quickly find the extra step irritating.  This article describes how to disable the Ctrl+Tab navigator window in Visual Studio 2008.</p>
<p><img src="http://www.csharp411.com/wordpress/wp-content/uploads/2008/06/navigator.jpg" style="border: 0px none " alt="IDE Navigator" width="404" border="0" height="219" /></p>
<p> <a href="http://www.csharp411.com/disable-the-ctrltab-navigator-window-in-visual-studio-2008/#more-166" class="more-link">(more&#8230;)</a></p>
<p><a href="http://sharethis.com/item?&wp=2.3.3&amp;publisher=638fb947-42f8-4180-9d32-55995ac2fbd3&amp;title=Disable+the+Ctrl%2BTab+Navigator+Window+in+Visual+Studio+2008&amp;url=http%3A%2F%2Fwww.csharp411.com%2Fdisable-the-ctrltab-navigator-window-in-visual-studio-2008%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.csharp411.com/disable-the-ctrltab-navigator-window-in-visual-studio-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Do Not Return Private C# Arrays</title>
		<link>http://www.csharp411.com/do-not-return-private-c-arrays/</link>
		<comments>http://www.csharp411.com/do-not-return-private-c-arrays/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 15:42:39 +0000</pubDate>
		<dc:creator>timm</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/do-not-return-private-c-arrays/</guid>
		<description><![CDATA[Be careful when returning C# arrays that are private members of an object, as it essentially makes the array contents public, since the client can easily change the array.
<script type="text/javascript">SHARETHIS.addEntry({ title: "Do Not Return Private C# Arrays", url: "http://www.csharp411.com/do-not-return-private-c-arrays/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Be careful when returning C# arrays that are private members of an object, as it essentially makes the array contents public, since the client can easily change the array.</p>
<p> <a href="http://www.csharp411.com/do-not-return-private-c-arrays/#more-164" class="more-link">(more&#8230;)</a></p>
<p><a href="http://sharethis.com/item?&wp=2.3.3&amp;publisher=638fb947-42f8-4180-9d32-55995ac2fbd3&amp;title=Do+Not+Return+Private+C%23+Arrays&amp;url=http%3A%2F%2Fwww.csharp411.com%2Fdo-not-return-private-c-arrays%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.csharp411.com/do-not-return-private-c-arrays/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C# Empty Enumerator</title>
		<link>http://www.csharp411.com/c-empty-enumerator/</link>
		<comments>http://www.csharp411.com/c-empty-enumerator/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 13:19:20 +0000</pubDate>
		<dc:creator>timm</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Collections]]></category>

		<category><![CDATA[Generics]]></category>

		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/c-empty-enumerator/</guid>
		<description><![CDATA[This article provides C# code for an empty enumerator.&#160; This generic class can be used to simulate enumeration over an empty collection of any type of objects.&#160; Here is the code:
<script type="text/javascript">SHARETHIS.addEntry({ title: "C# Empty Enumerator", url: "http://www.csharp411.com/c-empty-enumerator/" });</script>]]></description>
			<content:encoded><![CDATA[<p>This article provides C# code for an empty enumerator.&nbsp; This generic class can be used to simulate enumeration over an empty collection of any type of objects.&nbsp; Here is the code:</p>
<p> <a href="http://www.csharp411.com/c-empty-enumerator/#more-163" class="more-link">(more&#8230;)</a></p>
<p><a href="http://sharethis.com/item?&wp=2.3.3&amp;publisher=638fb947-42f8-4180-9d32-55995ac2fbd3&amp;title=C%23+Empty+Enumerator&amp;url=http%3A%2F%2Fwww.csharp411.com%2Fc-empty-enumerator%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.csharp411.com/c-empty-enumerator/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C# Programmer Salaries</title>
		<link>http://www.csharp411.com/c-programmer-salaries/</link>
		<comments>http://www.csharp411.com/c-programmer-salaries/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 15:02:21 +0000</pubDate>
		<dc:creator>timm</dc:creator>
		
		<category><![CDATA[Employment]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/c-programmer-salaries/</guid>
		<description><![CDATA[Indeed Salary Search is an index of salary information extracted from over 50 million job postings from thousands of unique sources over the last 12 months.&#160; Many job descriptions don't contain salary information, but there are enough that do to produce statistically significant median salaries.&#160; Following are the salaries for C# developer jobs:
<script type="text/javascript">SHARETHIS.addEntry({ title: "C# Programmer Salaries", url: "http://www.csharp411.com/c-programmer-salaries/" });</script>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.indeed.com/salary?q1=C%23&amp;l1=&amp;tm=1" target="_blank">Indeed Salary Search</a> is an index of salary information extracted from over 50 million job postings from thousands of unique sources over the last 12 months.&nbsp; Many job descriptions don't contain salary information, but there are enough that do to produce statistically significant median salaries.&nbsp; Following are the salaries for C# developer jobs:</p>
<p> <a href="http://www.csharp411.com/c-programmer-salaries/#more-162" class="more-link">(more&#8230;)</a></p>
<p><a href="http://sharethis.com/item?&wp=2.3.3&amp;publisher=638fb947-42f8-4180-9d32-55995ac2fbd3&amp;title=C%23+Programmer+Salaries&amp;url=http%3A%2F%2Fwww.csharp411.com%2Fc-programmer-salaries%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.csharp411.com/c-programmer-salaries/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Generic Class: Duplicate Method Overloads</title>
		<link>http://www.csharp411.com/generic-class-duplicate-method-overloads/</link>
		<comments>http://www.csharp411.com/generic-class-duplicate-method-overloads/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 20:21:46 +0000</pubDate>
		<dc:creator>timm</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Generics]]></category>

		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/generic-class-duplicate-method-overloads/</guid>
		<description><![CDATA[When two overloads of a method in a generic class are the same (have identical type arguments) as a result of the generic type you specified, which method is called?
<script type="text/javascript">SHARETHIS.addEntry({ title: "Generic Class: Duplicate Method Overloads", url: "http://www.csharp411.com/generic-class-duplicate-method-overloads/" });</script>]]></description>
			<content:encoded><![CDATA[<p>When two overloads of a method in a generic class are the same (have identical type arguments) as a result of the generic type you specified, which method is called?</p>
<p> <a href="http://www.csharp411.com/generic-class-duplicate-method-overloads/#more-161" class="more-link">(more&#8230;)</a></p>
<p><a href="http://sharethis.com/item?&wp=2.3.3&amp;publisher=638fb947-42f8-4180-9d32-55995ac2fbd3&amp;title=Generic+Class%3A+Duplicate+Method+Overloads&amp;url=http%3A%2F%2Fwww.csharp411.com%2Fgeneric-class-duplicate-method-overloads%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.csharp411.com/generic-class-duplicate-method-overloads/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nested Generics</title>
		<link>http://www.csharp411.com/nested-generics/</link>
		<comments>http://www.csharp411.com/nested-generics/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 15:24:27 +0000</pubDate>
		<dc:creator>timm</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Generics]]></category>

		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/nested-generics/</guid>
		<description><![CDATA[Given two generic classes:
public class Type1&#60;T&#62; {}
public class Type2&#60;T&#62; {}

.NET allows you to specify a generic type as the type of another generic type:
Type1&#60;Type2&#60;int&#62;&#62; obj = new Type1&#60;Type2&#60;int&#62;&#62;();

<script type="text/javascript">SHARETHIS.addEntry({ title: "Nested Generics", url: "http://www.csharp411.com/nested-generics/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Given two generic classes:</p>
<blockquote><pre class="code"><span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">class</span> <span style="color: rgb(43,145,175)">Type1</span>&lt;<span style="color: rgb(1,0,1)">T</span>&gt; {}
<span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">class</span> <span style="color: rgb(43,145,175)">Type2</span>&lt;<span style="color: rgb(1,0,1)">T</span>&gt; {}</pre>
<p><a href="http://11011.net/software/vspaste"></a></p></blockquote>
<p>.NET allows you to specify a generic type as the type of another generic type:</p>
<blockquote><pre class="code"><span style="color: rgb(43,145,175)">Type1</span>&lt;<span style="color: rgb(43,145,175)">Type2</span>&lt;<span style="color: rgb(0,0,255)">int</span>&gt;&gt; <span style="color: rgb(1,0,1)">obj</span> = <span style="color: rgb(0,0,255)">new</span> <span style="color: rgb(43,145,175)">Type1</span>&lt;<span style="color: rgb(43,145,175)">Type2</span>&lt;<span style="color: rgb(0,0,255)">int</span>&gt;&gt;();</pre>
</blockquote>
<p> <a href="http://www.csharp411.com/nested-generics/#more-160" class="more-link">(more&#8230;)</a></p>
<p><a href="http://sharethis.com/item?&wp=2.3.3&amp;publisher=638fb947-42f8-4180-9d32-55995ac2fbd3&amp;title=Nested+Generics&amp;url=http%3A%2F%2Fwww.csharp411.com%2Fnested-generics%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.csharp411.com/nested-generics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multiple Generic IEnumerable&#60;T&#62;</title>
		<link>http://www.csharp411.com/multiple-generic-ienumerablet/</link>
		<comments>http://www.csharp411.com/multiple-generic-ienumerablet/#comments</comments>
		<pubDate>Wed, 28 May 2008 19:28:04 +0000</pubDate>
		<dc:creator>timm</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Collections]]></category>

		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/multiple-generic-ienumerablet/</guid>
		<description><![CDATA[It's possible to provide multiple generic enumerators for a single class.&#160; The trick is that clients must specify which enumerator to use.
<script type="text/javascript">SHARETHIS.addEntry({ title: "Multiple Generic IEnumerable&#60;T&#62;", url: "http://www.csharp411.com/multiple-generic-ienumerablet/" });</script>]]></description>
			<content:encoded><![CDATA[<p>It's possible to provide multiple generic enumerators for a single class.&nbsp; The trick is that clients must specify which enumerator to use.</p>
<p> <a href="http://www.csharp411.com/multiple-generic-ienumerablet/#more-159" class="more-link">(more&#8230;)</a></p>
<p><a href="http://sharethis.com/item?&wp=2.3.3&amp;publisher=638fb947-42f8-4180-9d32-55995ac2fbd3&amp;title=Multiple+Generic+IEnumerable%26lt%3BT%26gt%3B&amp;url=http%3A%2F%2Fwww.csharp411.com%2Fmultiple-generic-ienumerablet%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.csharp411.com/multiple-generic-ienumerablet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Parse and Sort Comma-Delimited Numbers</title>
		<link>http://www.csharp411.com/parse-and-sort-comma-delimited-numbers/</link>
		<comments>http://www.csharp411.com/parse-and-sort-comma-delimited-numbers/#comments</comments>
		<pubDate>Fri, 23 May 2008 00:18:13 +0000</pubDate>
		<dc:creator>timm</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/parse-and-sort-comma-delimited-numbers/</guid>
		<description><![CDATA[Here is one way to parse and sort a string with comma-delimited numbers:
<script type="text/javascript">SHARETHIS.addEntry({ title: "Parse and Sort Comma-Delimited Numbers", url: "http://www.csharp411.com/parse-and-sort-comma-delimited-numbers/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Here is one way to parse and sort a string with comma-delimited numbers:<br />
 <a href="http://www.csharp411.com/parse-and-sort-comma-delimited-numbers/#more-158" class="more-link">(more&#8230;)</a></p>
<p><a href="http://sharethis.com/item?&wp=2.3.3&amp;publisher=638fb947-42f8-4180-9d32-55995ac2fbd3&amp;title=Parse+and+Sort+Comma-Delimited+Numbers&amp;url=http%3A%2F%2Fwww.csharp411.com%2Fparse-and-sort-comma-delimited-numbers%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.csharp411.com/parse-and-sort-comma-delimited-numbers/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
