<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Program &#38; Design &#187; C#</title>
	<atom:link href="http://programanddesign.com/category/cs/feed/" rel="self" type="application/rss+xml" />
	<link>http://programanddesign.com</link>
	<description>Tips, tricks, tutorials, and tools on programming &#38; web design</description>
	<lastBuildDate>Wed, 07 Jul 2010 21:55:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Thread-Safe Observable List for WPF</title>
		<link>http://programanddesign.com/cs/thread-safe-observable-list-for-wpf/</link>
		<comments>http://programanddesign.com/cs/thread-safe-observable-list-for-wpf/#comments</comments>
		<pubDate>Sat, 08 May 2010 05:21:18 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://programanddesign.com/?p=344</guid>
		<description><![CDATA[I'm probably posting this too early; I haven't had a chance to extensively test it yet but I basically just locked every function down, and made any method that actually modifies the list run on the main thread so that notifications can be sent. It ought to work class ObservableList&#60;T&#62; : IList&#60;T&#62;, INotifyCollectionChanged where T [...]]]></description>
		<wfw:commentRss>http://programanddesign.com/cs/thread-safe-observable-list-for-wpf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Observable Priority Queue</title>
		<link>http://programanddesign.com/cs/observable-priority-queue/</link>
		<comments>http://programanddesign.com/cs/observable-priority-queue/#comments</comments>
		<pubDate>Thu, 06 May 2010 21:10:35 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[.net-4.0]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[queue]]></category>
		<category><![CDATA[wpf]]></category>

		<guid isPermaLink="false">http://programanddesign.com/?p=333</guid>
		<description><![CDATA[Just started playing around with WPF in VS 2010. They have this ObservableCollection class which you can bind to your DataGrid or ListControl and then when you add or remove items from it, the control is refreshed automatically. However, I wanted to use my PriorityQueue class that I posted about earlier, so I modified it [...]]]></description>
		<wfw:commentRss>http://programanddesign.com/cs/observable-priority-queue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Human-readable file size in C#</title>
		<link>http://programanddesign.com/cs/human-readable-file-size-in-c-2/</link>
		<comments>http://programanddesign.com/cs/human-readable-file-size-in-c-2/#comments</comments>
		<pubDate>Sun, 02 May 2010 21:01:16 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[readable]]></category>

		<guid isPermaLink="false">http://programanddesign.com/?p=327</guid>
		<description><![CDATA[&#160; &#160; &#160; &#160; static string ReadableFileSize&#40;double size, int unit=0&#41; &#160; &#160; &#160; &#160; &#123; &#160; &#160; &#160; &#160; &#160; &#160; string&#91;&#93; units = &#123; &#34;B&#34;, &#34;KB&#34;, &#34;MB&#34;, &#34;GB&#34;, &#34;TB&#34;, &#34;PB&#34;, &#34;EB&#34;, &#34;ZB&#34;, &#34;YB&#34; &#125;; &#160; &#160; &#160; &#160; &#160; &#160; while&#40;size &#62;= 1024&#41; &#123; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; size /= [...]]]></description>
		<wfw:commentRss>http://programanddesign.com/cs/human-readable-file-size-in-c-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Simple Priority Queue in C#</title>
		<link>http://programanddesign.com/cs/a-simple-priority-queue-in-cs/</link>
		<comments>http://programanddesign.com/cs/a-simple-priority-queue-in-cs/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 19:59:33 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[priority queue]]></category>

		<guid isPermaLink="false">http://programanddesign.com/?p=322</guid>
		<description><![CDATA[using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace QueueSpace &#123; &#160; &#160; public class PriorityQueue&#60;TValue&#62; : PriorityQueue&#60;TValue, int&#62; &#123; &#125; &#160; &#160; public class PriorityQueue&#60;TValue, TPriority&#62; where TPriority : IComparable &#160; &#160; &#123; &#160; &#160; &#160; &#160; private SortedDictionary&#60;TPriority, Queue&#60;TValue&#62;&#62; dict = new SortedDictionary&#60;TPriority, Queue&#60;TValue&#62;&#62;&#40;&#41;; &#160; &#160; &#160; &#160; public int Count &#123; get; [...]]]></description>
		<wfw:commentRss>http://programanddesign.com/cs/a-simple-priority-queue-in-cs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Dock Panel</title>
		<link>http://programanddesign.com/cs/net-dock-panel/</link>
		<comments>http://programanddesign.com/cs/net-dock-panel/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 22:46:45 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[winforms]]></category>

		<guid isPermaLink="false">http://programanddesign.com/?p=309</guid>
		<description><![CDATA[Apparently .NET does not come with any dock widget, like the ones used for the Toolbox and Properties window in Visual Studio. However, there is a freely available one on sourceforge called DockPanel Suite. Unfortunately, it seems to lack any sort of documentation! This little code snippet below should be enough to get you started [...]]]></description>
		<wfw:commentRss>http://programanddesign.com/cs/net-dock-panel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# Blocking Queue</title>
		<link>http://programanddesign.com/cs/c-blocking-queue/</link>
		<comments>http://programanddesign.com/cs/c-blocking-queue/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 04:37:26 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[multi-threaded]]></category>
		<category><![CDATA[producer-consumer]]></category>

		<guid isPermaLink="false">http://programanddesign.com/?p=306</guid>
		<description><![CDATA[If you're writing a threaded application in C# and you need to wait until a resource becomes available, you can use this class. Very handy for producer/consumer scenarios. public class BlockingQueue&#60;T&#62; &#123; &#160; &#160; Queue&#60;T&#62; que = new Queue&#60;T&#62;&#40;&#41;; &#160; &#160; Semaphore sem = new Semaphore&#40;0, Int32.MaxValue&#41;; &#160; &#160; public void Enqueue&#40;T item&#41; &#160; &#160; [...]]]></description>
		<wfw:commentRss>http://programanddesign.com/cs/c-blocking-queue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
