<?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>.NET Tips and Tricks &#187; ASP.NET</title>
	<atom:link href="http://kossovsky.net/index.php/tag/asp-net/feed/" rel="self" type="application/rss+xml" />
	<link>http://kossovsky.net</link>
	<description>C# Code Snippets, ASP.NET Code Samples, .NET Tips and Tricks</description>
	<lastBuildDate>Thu, 13 May 2010 13:02:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>jTemplates &#8211; jQuery Template Engine</title>
		<link>http://kossovsky.net/index.php/2009/10/jtemplates-jquery-template-engine/</link>
		<comments>http://kossovsky.net/index.php/2009/10/jtemplates-jquery-template-engine/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 22:46:51 +0000</pubDate>
		<dc:creator>Xander</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[c-sharp]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[dhtml]]></category>
		<category><![CDATA[dom template]]></category>
		<category><![CDATA[dynamic template]]></category>
		<category><![CDATA[endless event]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[event handlers]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[javascript library]]></category>
		<category><![CDATA[javascript templates]]></category>
		<category><![CDATA[jquery templates]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[js template]]></category>
		<category><![CDATA[net c#]]></category>
		<category><![CDATA[rapid web development]]></category>
		<category><![CDATA[render]]></category>
		<category><![CDATA[server side code]]></category>
		<category><![CDATA[side requests]]></category>
		<category><![CDATA[support parameters]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[template engine]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[time manipulation]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[usable features]]></category>
		<category><![CDATA[web template]]></category>

		<guid isPermaLink="false">http://kossovsky.net/?p=789</guid>
		<description><![CDATA[jTemplates is a template engine for JavaScript, wich is wraped in a jQuery Plugin.
The syntax is very simple and  intuitive. It's support parameters, includes, if/else, loops, JavaScript functions and many other nice and usable  features.<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.9" /></div><div>Rating: 4.9/<strong>5</strong> (10 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />


Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/07/ie-memory-leak-jquery-garbage-collector/' rel='bookmark' title='Permanent Link: IE Memory Leak &#8211; jQuery Fix'>IE Memory Leak &#8211; jQuery Fix</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/script-as-blocking-element-and-dynamic-script-loading-using-document-write/' rel='bookmark' title='Permanent Link: Script as blocking element and dynamic script loading using document.write'>Script as blocking element and dynamic script loading using document.write</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/function-context-and-apply-function/' rel='bookmark' title='Permanent Link: Javascript function context, &#8220;apply&#8221; method and lost &#8220;this&#8221; object'>Javascript function context, &#8220;apply&#8221; method and lost &#8220;this&#8221; object</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>About a year ago i had to architucture some web application with a very rich client side UI.</p>
<p>ASP.NET was an easy choise for a server side code, but what about client side ?<br />
The heavy viewstate, endless event handlers and infinity number of server side requests just to make the GUI  friendly &#8211; well, it just didn&#8217;t sound as a proper way to do it.</p>
<p><span id="more-789"></span>So, what do we have ?<br />
.NET as a server side platform, but despite  all it&#8217;s powerful abilities it has nothing to do with client side. At the end of the day all those fancy control are just HTML and JavaScript.</p>
<p> JavaScript is still the engine that runs at the client side and it&#8217;s great, but we all know how many lines of code we have to write and time to spend to make it fast, modular and cross browser.</p>
<p><a title="jQuery" href="http://jquery.com/" target="_blank">jQuery</a> &#8211; it&#8217;s a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.</p>
<p>Indeed, we can do a many things with jQuery and it realy simplify the coding, but what if we have to build a product list with complicated HMTL, complex logic and real time manipulation ?</p>
<p>As i mentioned before, ASP.NET and UpdatePanels are just to heavy and JavaScript is to long.</p>
<p>So, i did some research and find a couple of JavaScript Template Engines.<br />
The first one i bumped in was <a href="http://plugins.jquery.com/project/jsrepeater" target="_blank">jsRepeater</a>. At first it seemed like a great solution but after a few tests i found all kinds of bugs related to the syntax conflicts with HTML and JavaScript.</p>
<p>After a few days of googling, tests and googling again i found the one and only &#8211;  <a title="jTemplates" href="http://jtemplates.tpython.com/" target="_blank">jTemplates</a>.<br />
jTemplates is a template engine for JavaScript, wich is wraped in a jQuery Plugin.<br />
The syntax is very simple and  intuitive. It&#8217;s support parameters, includes, if/else, loops, JavaScript functions and many other nice and usable  features.</p>
<p>Let&#8217;s say we want to list all our products. What we have to do is to write the template (HTML), pass the data and we have a product list.</p>
<p>
<div><span style="color: #0000ff;">{#foreach $T.Product as P}</span></div>
<div style="padding-left: 30px;"><span style="color: #0000ff;">&lt;</span><span style="color: #0000ff;">div</span> <span style="color: #008000;">style</span>=&#8221;float:left;width:150px;height:150px&#8221;<span style="color: #0000ff;">&gt;</span></div>
<div style="padding-left: 60px;"><span style="color: #0000ff;">&lt;</span><span style="color: #0000ff;">div</span><span style="color: #0000ff;">&gt;</span><strong>{$T.P.Title}</strong><span style="color: #0000ff;">&lt;/div&gt;</span></div>
<div style="padding-left: 60px;"><span style="color: #0000ff;">&lt;</span><span style="color: #0000ff;">img</span> <span style="color: #008000;">src</span>=&#8221;<strong>{$T.P.Url}</strong>&#8221; <span style="color: #008000;">alt</span>=&#8221;<strong>{$T.P.Title}</strong>&#8221; style=&#8221;width:10px;height:10px&#8221; <span style="color: #0000ff;">/&gt;</span></div>
<div style="padding-left: 60px;"><span style="color: #0000ff;">&lt;hr /&gt;</span></div>
<div style="padding-left: 60px;"><span style="color: #0000ff;">&lt;</span><span style="color: #0000ff;">div</span><span style="color: #0000ff;">&gt;</span>Price : <strong>{$T.P.Price}$</strong><span style="color: #0000ff;">&lt;/div&gt;</span></div>
<div style="padding-left: 30px;"><span style="color: #0000ff;">&lt;/</span><span style="color: #0000ff;">div</span><span style="color: #0000ff;">&gt;</span></div>
<div><span style="color: #0000ff;">{#/for}</span></div>
</p>
<p>Look how easy this is. You just write HTML and werever you need to insert some data you put {$.T.P.ColumnName}.</p>
<p>So, how we use it ?<br />
Just add some textarea to your page, give it some id, set it&#8217;s display style to none and write your template inside.</p>
<pre class="html" name="code">
&lt;textarea cols="0" rows ="0" style="display:none;" id="ProductListTemplate"&gt;&lt;!--
{#foreach $T.Product as P}
	&lt;div style=”float:left;width:150px;height:150px”&gt;
		&lt;div>{$T.P.Title}&lt;/div&gt;
		&lt;img src=”{$T.P.Url}” alt=”{$T.P.Title}” style=”width:10px;height:10px” /&gt;
		&lt;hr /&gt;
		&lt;div>Price : {$T.P.Price}$&lt;/div&gt;
	&lt;/div&gt;
{#/for}
--&gt;&lt;/textarea&gt;
</pre>
<p>Add some empty container that will hold the result.</p>
<pre class="html" name="code">
&lt;div id="ProductListContainer"&gt;&lt;/div&gt;
</pre>
<p>Execute setTemplateElement and execute processTemplate while passing the data into it as a parameter</p>
<pre class="javascript" name="code">
$("#ProductListContainer").setTemplateElement("ProductListTemplate");
$("#ProductListContainer").processTemplate(data);
</pre>
<p>Easy, isn&#8217;t it ?<br />
I must say that the above example is a simple one, but I&#8217;ve been using jTemplates to create complicated lists, grids, trees, popups and even an image editing web application. Use it, I&#8217;m sure you will love it.</p>
<div style="margin-top:-15px;margin-bottom:15px;"><script type="text/javascript">
var dzone_url = 'http://kossovsky.net/index.php/2009/10/jtemplates-jquery-template-engine/';
var dzone_style = '1';
</script><br />
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.9" /></div><div>Rating: 4.9/<strong>5</strong> (10 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />
<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fkossovsky.net%2Findex.php%2F2009%2F10%2Fjtemplates-jquery-template-engine%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>


<p>Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/07/ie-memory-leak-jquery-garbage-collector/' rel='bookmark' title='Permanent Link: IE Memory Leak &#8211; jQuery Fix'>IE Memory Leak &#8211; jQuery Fix</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/script-as-blocking-element-and-dynamic-script-loading-using-document-write/' rel='bookmark' title='Permanent Link: Script as blocking element and dynamic script loading using document.write'>Script as blocking element and dynamic script loading using document.write</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/function-context-and-apply-function/' rel='bookmark' title='Permanent Link: Javascript function context, &#8220;apply&#8221; method and lost &#8220;this&#8221; object'>Javascript function context, &#8220;apply&#8221; method and lost &#8220;this&#8221; object</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://kossovsky.net/index.php/2009/10/jtemplates-jquery-template-engine/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>C# Set method timeout using Generics</title>
		<link>http://kossovsky.net/index.php/2009/07/csharp-how-to-limit-method-execution-time/</link>
		<comments>http://kossovsky.net/index.php/2009/07/csharp-how-to-limit-method-execution-time/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 18:30:17 +0000</pubDate>
		<dc:creator>Xander</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[asynchronous]]></category>
		<category><![CDATA[c#.net]]></category>
		<category><![CDATA[c-sharp]]></category>
		<category><![CDATA[execution]]></category>
		<category><![CDATA[file ext]]></category>
		<category><![CDATA[func]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[generics]]></category>
		<category><![CDATA[httpwebrequest]]></category>
		<category><![CDATA[ins]]></category>
		<category><![CDATA[limit]]></category>
		<category><![CDATA[lt]]></category>
		<category><![CDATA[milliseconds]]></category>
		<category><![CDATA[net c#]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[quick solution]]></category>
		<category><![CDATA[remote computer]]></category>
		<category><![CDATA[return result]]></category>
		<category><![CDATA[synchronous]]></category>
		<category><![CDATA[thread]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[timeout]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[unc]]></category>
		<category><![CDATA[unc path]]></category>
		<category><![CDATA[visual c#]]></category>

		<guid isPermaLink="false">http://kossovsky.net/?p=687</guid>
		<description><![CDATA[I&#8217;m pretty sure all of you know the WebRequest and it&#8217;s derived class HttpWebRequest. And what a marvelous property both of them have &#8211; the TimeOut. Yesterday I had to write some app that reads files located on some remote computer. As I knew already this ins&#8217;t such a good practice, because your code can [...]<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.7" /></div><div>Rating: 4.7/<strong>5</strong> (15 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />


Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/06/csharp-inheritance-question/' rel='bookmark' title='Permanent Link: C# Inheritance Question'>C# Inheritance Question</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/cshar-protected-internal/' rel='bookmark' title='Permanent Link: C# Protected Internal'>C# Protected Internal</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-linq-teaser/' rel='bookmark' title='Permanent Link: C# LINQ Teaser'>C# LINQ Teaser</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pretty sure all of you know the WebRequest and it&#8217;s derived class HttpWebRequest.<br />
And what a marvelous property both of them have &#8211; the TimeOut.</p>
<p><span id="more-687"></span></p>
<p>Yesterday I had to write some app that reads files located on some remote computer.<br />
As I knew already this ins&#8217;t such a good practice, because your code can just hang/freeze for seconds waiting for that UNC path to become available or just checking it&#8217;s existence.</p>
<p>Still, I had to provide some quick solution and &#8220;hoping for the best&#8221; wasn&#8217;t good enough.<br />
So, this is what I came up with.</p>
<pre class="c-sharp" name="code">
        public static T Limex&lt;T&gt;(Func&lt;T&gt; F, int Timeout, out bool Completed)
        {
            T result = default(T);
            Thread thread = new Thread(() =&gt; result = F());
            thread.Start();
            Completed = thread.Join(Timeout);
            if (!Completed) thread.Abort();
            return result;
        }

        // Overloaded method, for cases when we don't
        // need to know if the method was terminated
        public static T Limex&lt;T&gt;(Func&lt;T&gt; F, int Timeout)
        {
            bool Completed;
            return Limex(F, Timeout, out Completed);
        }
</pre>
<p>The usage is very simple, just pass any method (declared or anonymous) and the desired Timeout in milliseconds to the Limex. </p>
<p>Example :</p>
<pre class="c-sharp" name="code">
bool Completed;
string Content = Limex(() => File.ReadAllText(@"\\unc\dir\file.ext")
                       ,100 // milliseconds
                       ,out Completed);

if (Completed)
   // Do something
else
  // Do something else
</pre>
<p>Comments and suggestions for improvement are welcome and will be gratefully appreciated</p>
<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.7" /></div><div>Rating: 4.7/<strong>5</strong> (15 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />
<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fkossovsky.net%2Findex.php%2F2009%2F07%2Fcsharp-how-to-limit-method-execution-time%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>


<p>Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/06/csharp-inheritance-question/' rel='bookmark' title='Permanent Link: C# Inheritance Question'>C# Inheritance Question</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/cshar-protected-internal/' rel='bookmark' title='Permanent Link: C# Protected Internal'>C# Protected Internal</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-linq-teaser/' rel='bookmark' title='Permanent Link: C# LINQ Teaser'>C# LINQ Teaser</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://kossovsky.net/index.php/2009/07/csharp-how-to-limit-method-execution-time/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>C# Parsing HTML with HtmlAgilityPack</title>
		<link>http://kossovsky.net/index.php/2009/07/csharp-html-parser-htmlagilitypack/</link>
		<comments>http://kossovsky.net/index.php/2009/07/csharp-html-parser-htmlagilitypack/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 16:00:02 +0000</pubDate>
		<dc:creator>Xander</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[c#.net]]></category>
		<category><![CDATA[c-sharp]]></category>
		<category><![CDATA[foreach]]></category>
		<category><![CDATA[googling]]></category>
		<category><![CDATA[great library]]></category>
		<category><![CDATA[hn]]></category>
		<category><![CDATA[html document]]></category>
		<category><![CDATA[linq]]></category>
		<category><![CDATA[mshtml]]></category>
		<category><![CDATA[optimizations]]></category>
		<category><![CDATA[parse]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[parsing]]></category>
		<category><![CDATA[selectnodes]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Validation]]></category>
		<category><![CDATA[webbrowser control]]></category>

		<guid isPermaLink="false">http://kossovsky.net/?p=508</guid>
		<description><![CDATA[Let&#8217;s say you have to parse some HTML, find all images or some other DOM elements make some changes/optimizations and save the result. What can you do ? Well, i needed something like that a few days ago and after Googling for couple of hours I ran across this this great library called HtmlAgilityPack. Sure, [...]<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.6" /></div><div>Rating: 4.6/<strong>5</strong> (11 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />


Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/07/aforge-net-image-processing/' rel='bookmark' title='Permanent Link: C# Image Processing with AForge.NET Framework'>C# Image Processing with AForge.NET Framework</a></li>
<li><a href='http://kossovsky.net/index.php/2009/10/jtemplates-jquery-template-engine/' rel='bookmark' title='Permanent Link: jTemplates &#8211; jQuery Template Engine'>jTemplates &#8211; jQuery Template Engine</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/string-empty-versus-empty-quotes/' rel='bookmark' title='Permanent Link: C# string.Empty vs &#8220;&#8221;'>C# string.Empty vs &#8220;&#8221;</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say you have to parse some HTML, find all images or some other DOM elements make some changes/optimizations and save the result. What can you do ?</p>
<p>Well, i needed something like that a few days ago and after Googling for couple of hours I ran across this this great library called <a href="http://htmlagilitypack.codeplex.com" target="_blank">HtmlAgilityPack</a>.</p>
<p><span id="more-508"></span></p>
<p>Sure, you can do it by using C# WebBrowser control or MSHTML, but you will have to forget about performance or multithreading &#8211; it will eat all your memory and the CPU won&#8217;t know what&#8217;s hit it.</p>
<p>Now, back to the HtmlAgilityPack.<br />
The usage is very simple, and the performance is great ( at least for my needs ).</p>
<p>Following is an example how we can find all images without an &#8220;alt&#8221; attribute, add it and resave the Html document.</p>
<pre class="c-sharp" name="code">
            HtmlDocument HD = new HtmlDocument();
            HD.Load (@"e:\test.htm");
            var NoAltElements = HD.DocumentNode.SelectNodes("//img[not(@alt)]");
            if (NoAltElements != null)
            {
                foreach (HtmlNode HN in NoAltElements)
                {
                    HN.Attributes.Append("alt", "no alt image");
                }
            }

            HD.Save(@"e:\test.htm");
</pre>
<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.6" /></div><div>Rating: 4.6/<strong>5</strong> (11 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />
<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fkossovsky.net%2Findex.php%2F2009%2F07%2Fcsharp-html-parser-htmlagilitypack%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>


<p>Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/07/aforge-net-image-processing/' rel='bookmark' title='Permanent Link: C# Image Processing with AForge.NET Framework'>C# Image Processing with AForge.NET Framework</a></li>
<li><a href='http://kossovsky.net/index.php/2009/10/jtemplates-jquery-template-engine/' rel='bookmark' title='Permanent Link: jTemplates &#8211; jQuery Template Engine'>jTemplates &#8211; jQuery Template Engine</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/string-empty-versus-empty-quotes/' rel='bookmark' title='Permanent Link: C# string.Empty vs &#8220;&#8221;'>C# string.Empty vs &#8220;&#8221;</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://kossovsky.net/index.php/2009/07/csharp-html-parser-htmlagilitypack/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>C# Byte Iteration Question</title>
		<link>http://kossovsky.net/index.php/2009/07/csharp-byte-iteration-question/</link>
		<comments>http://kossovsky.net/index.php/2009/07/csharp-byte-iteration-question/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 08:27:34 +0000</pubDate>
		<dc:creator>Xander</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Interview Questions]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Teasers]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[byte]]></category>
		<category><![CDATA[c#.net]]></category>
		<category><![CDATA[c-sharp]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[interview question]]></category>
		<category><![CDATA[iteration]]></category>
		<category><![CDATA[main string]]></category>
		<category><![CDATA[net c#]]></category>
		<category><![CDATA[string args]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[visual c#]]></category>

		<guid isPermaLink="false">http://kossovsky.net/?p=473</guid>
		<description><![CDATA[This one is a great c# interview question &#8211; short and simple, but tricky. static void Main(string[] args) { for (byte b = byte.MinValue; b<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.4" /></div><div>Rating: 4.4/<strong>5</strong> (5 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />


Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/06/csharp-inheritance-question/' rel='bookmark' title='Permanent Link: C# Inheritance Question'>C# Inheritance Question</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-linq-teaser/' rel='bookmark' title='Permanent Link: C# LINQ Teaser'>C# LINQ Teaser</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-increment-operator-question/' rel='bookmark' title='Permanent Link: C# Increment operator (++) question'>C# Increment operator (++) question</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This one is a great c# interview question &#8211; short and simple, but tricky.</p>
<p><span id="more-473"></span></p>
<pre class="c-sharp" name="code">
static void Main(string[] args)
{
    for (byte b = byte.MinValue; b <= byte.MaxValue; b++)
        Console.Write(b);
}

// A little tip
// byte.MinValue = 0
// byte.MaxValue = 255
</pre>
<p>How many times the above statement will be executed ?</p>
<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.4" /></div><div>Rating: 4.4/<strong>5</strong> (5 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />
<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fkossovsky.net%2Findex.php%2F2009%2F07%2Fcsharp-byte-iteration-question%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>


<p>Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/06/csharp-inheritance-question/' rel='bookmark' title='Permanent Link: C# Inheritance Question'>C# Inheritance Question</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-linq-teaser/' rel='bookmark' title='Permanent Link: C# LINQ Teaser'>C# LINQ Teaser</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-increment-operator-question/' rel='bookmark' title='Permanent Link: C# Increment operator (++) question'>C# Increment operator (++) question</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://kossovsky.net/index.php/2009/07/csharp-byte-iteration-question/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>C# Image Processing with AForge.NET Framework</title>
		<link>http://kossovsky.net/index.php/2009/07/aforge-net-image-processing/</link>
		<comments>http://kossovsky.net/index.php/2009/07/aforge-net-image-processing/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 21:35:20 +0000</pubDate>
		<dc:creator>Xander</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[c#.net]]></category>
		<category><![CDATA[computer vision library]]></category>
		<category><![CDATA[genetic evolution]]></category>
		<category><![CDATA[Gif]]></category>
		<category><![CDATA[grayscale image]]></category>
		<category><![CDATA[grayscale images]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[image edges]]></category>
		<category><![CDATA[imaging library]]></category>
		<category><![CDATA[Jpg]]></category>
		<category><![CDATA[machine learning library]]></category>
		<category><![CDATA[net c#]]></category>
		<category><![CDATA[Png]]></category>
		<category><![CDATA[Quality]]></category>
		<category><![CDATA[Resize]]></category>
		<category><![CDATA[Resizer]]></category>
		<category><![CDATA[robotics kits]]></category>
		<category><![CDATA[robotics library]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[vision computer]]></category>
		<category><![CDATA[visual c#]]></category>

		<guid isPermaLink="false">http://kossovsky.net/?p=436</guid>
		<description><![CDATA[AForge.NET is a C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, neural networks, genetic algorithms, machine learning, robotics, etc.<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.4" /></div><div>Rating: 4.4/<strong>5</strong> (5 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />


Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/06/image-resizing/' rel='bookmark' title='Permanent Link: Image Resizing in C#'>Image Resizing in C#</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/cshar-rectangle-packing/' rel='bookmark' title='Permanent Link: C# Rectangle Packing'>C# Rectangle Packing</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/csharp-inheritance-question/' rel='bookmark' title='Permanent Link: C# Inheritance Question'>C# Inheritance Question</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>A couple of days ago i found a great framework called AForge.NET.</p>
<p><a title="AForge.NET" href="http://www.aforgenet.com/framework/" target="_blank">AForge.NET</a> is a C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence &#8211; image processing, neural networks, genetic algorithms, machine learning, robotics, etc.</p>
<p><span id="more-436"></span></p>
<p>The framework is published under <a title="GNU LESSER GENERAL PUBLIC LICENSE" href="http://www.gnu.org/licenses/lgpl.html" target="_blank">LGPL v3 license</a> and comprised by the set of libraries and sample applications, which demonstrate their features:</p>
<ul>
<li>AForge.Imaging &#8211; library with image processing routines and filters</li>
<li>AForge.Vision &#8211; computer vision library</li>
<li>AForge.Neuro &#8211; neural networks computation library</li>
<li>AForge.Genetic &#8211; evolution programming library</li>
<li>AForge.MachineLearning &#8211; machine learning library</li>
<li>AForge.Robotics &#8211; library providing support of some robotics kits</li>
<li>AForge.Video &#8211; set of libraries for video processing</li>
</ul>
<p>The framework is provided not only with different libraries and their sources, but with many sample applications, which demonstrate the use of this framework, and with documentation help files, which are provided in HTML Help format.</p>
<p>As you can see this framework contains varied libraries, but as for me i was especially interested in the image processing routines and filters.</p>
<p>Let&#8217;s see  the  CannyEdgeDetector in action.</p>
<pre class="c-sharp" name="code">using AForge.Imaging.Filters;

// Loading some file
using (Bitmap SampleImage = (Bitmap)Image.FromFile("test.jpg"))
{
    // We must convert it to grayscale because
    // the filter accepts 8 bpp grayscale images
    Grayscale GF = new Grayscale(0.2125, 0.7154, 0.0721);
    using (Bitmap GSampleImage = GF.Apply(SampleImage))
    {
        // Saving the grayscale image, so we could see it later
        GSampleImage.SaveAsJpeg("testBW.jpg", 100);

        // Detecting image edges and saving the result
        CannyEdgeDetector CED = new CannyEdgeDetector(0,70);
        CED.ApplyInPlace(GSampleImage);
        GSampleImage.SaveAsJpeg("testEDGED.jpg",100);
    }
}

// SaveAsJpeg is an extension method i wrote to be able to save
// Jpeg images with parametrized quality
// You can use Image.Save ("image.jpg", ImageFormat.Jpeg) instead
</pre>
<p>Now, let see the results ( click the image to see full size )</p>

<a href='http://kossovsky.net/index.php/2009/07/aforge-net-image-processing/aforgesamples/' title='The original image [ AForge Test ]'><img width="150" height="150" src="http://kossovsky.net/wp-content/uploads/2009/07/AForgeSamples-150x150.jpg" class="attachment-thumbnail" alt="The original image" title="The original image [ AForge Test ]" /></a>
<a href='http://kossovsky.net/index.php/2009/07/aforge-net-image-processing/aforgesamplesgrayscale/' title='Grayscaled image [ AForge Test ]'><img width="150" height="150" src="http://kossovsky.net/wp-content/uploads/2009/07/AForgeSamplesGrayscale-150x150.jpg" class="attachment-thumbnail" alt="Grayscaled image" title="Grayscaled image [ AForge Test ]" /></a>
<a href='http://kossovsky.net/index.php/2009/07/aforge-net-image-processing/aforgesamplesresult/' title='Edged image [ AForge Test ]'><img width="150" height="150" src="http://kossovsky.net/wp-content/uploads/2009/07/AForgeSamplesResult-150x150.jpg" class="attachment-thumbnail" alt="Edged image" title="Edged image [ AForge Test ]" /></a>

<p>The result is great, and of course we can modify the threshold levels to gain even better results.<br />
As for other filter and effects there are many of them in this library.<br />
There are Noise generators, color correction filters, smoothing filters and <a title="AForge.Imaging filters and effects" href="http://www.aforgenet.com/framework/features/" target="_blank">more</a>.</p>
<p>Sure, it&#8217;s no Photoshop, but i must say it&#8217;s very close to it.</p>
<p>Hope you will find this useful, I did.</p>
<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.4" /></div><div>Rating: 4.4/<strong>5</strong> (5 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />
<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fkossovsky.net%2Findex.php%2F2009%2F07%2Faforge-net-image-processing%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>


<p>Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/06/image-resizing/' rel='bookmark' title='Permanent Link: Image Resizing in C#'>Image Resizing in C#</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/cshar-rectangle-packing/' rel='bookmark' title='Permanent Link: C# Rectangle Packing'>C# Rectangle Packing</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/csharp-inheritance-question/' rel='bookmark' title='Permanent Link: C# Inheritance Question'>C# Inheritance Question</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://kossovsky.net/index.php/2009/07/aforge-net-image-processing/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SpeedTrace &#8211; .NET Profiler and Tracer</title>
		<link>http://kossovsky.net/index.php/2009/07/speedtrace-net-profiler-and-tracer/</link>
		<comments>http://kossovsky.net/index.php/2009/07/speedtrace-net-profiler-and-tracer/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 11:28:30 +0000</pubDate>
		<dc:creator>Xander</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Profiling Tools]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[c#.net]]></category>
		<category><![CDATA[c-sharp]]></category>
		<category><![CDATA[data flow]]></category>
		<category><![CDATA[dot net framework]]></category>
		<category><![CDATA[dot net framework 2]]></category>
		<category><![CDATA[flow problems]]></category>
		<category><![CDATA[net c#]]></category>
		<category><![CDATA[peak times]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[performance bottlenecks]]></category>
		<category><![CDATA[profiler]]></category>
		<category><![CDATA[profilers]]></category>
		<category><![CDATA[profiling]]></category>
		<category><![CDATA[program flow]]></category>
		<category><![CDATA[return values]]></category>
		<category><![CDATA[Speed]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[visual c#]]></category>

		<guid isPermaLink="false">http://kossovsky.net/?p=406</guid>
		<description><![CDATA[It is very important to be able to dynamically control the behavior of .NET applications and to keep track of some of the aspects of the application (i.e. how the application is performing, what errors are produced during runtime, how the application performs at peak times, how to dynamically alter the behavior of the application, [...]<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.6" /></div><div>Rating: 4.6/<strong>5</strong> (5 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />


Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/07/csharp-the-double-trouble/' rel='bookmark' title='Permanent Link: C# The &#8220;double&#8221; trouble'>C# The &#8220;double&#8221; trouble</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/unusual-software-bugs/' rel='bookmark' title='Permanent Link: Unusual software bugs'>Unusual software bugs</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/string-empty-versus-empty-quotes/' rel='bookmark' title='Permanent Link: C# string.Empty vs &#8220;&#8221;'>C# string.Empty vs &#8220;&#8221;</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>It is very important to be able to dynamically control the behavior of .NET applications and to keep track of some of the aspects of the application (i.e. how the application is performing, what errors are produced during runtime, how the application performs at peak times, how to dynamically alter the behavior of the application, etc).</p>
<p><span id="more-406"></span></p>
<p>The <a title="SpeedTrace - .NET Profiler and Tracer" href="http://www.ipcas.com/trace-and-profile/c-sharp-and-vb.net-tracer-and-profiler/" target="_blank">SpeedTrace Pro</a> profiler follows and records the program flow of any .NET application on a function/method level for later profiling or tracing analysis, allowing you to identify performance bottlenecks, deadlocks, software design problems as well as resource and data flow problems.</p>
<p>One of the nicest features in this application is the presence of  &#8220;Callback-API&#8221;.<br />
It provides user-extended functionality to allow developers to adapt the tracer to their needs and to write user-specific extensions for dot.NET Framework 2.0, 3.0 or 3.5 applications.</p>
<p>SpeedTrace Pro can make accessible the arguments and return values of a function. This outstanding feature enables you not only to trace function calls but also to obtain the values passed or returned &#8211; important data that normal profilers lose during aggregations. You can make use of this data to obtain the relevant information, especially when bugs appear under certain conditions.</p>
<p>The data tracing values of .NET applications may be used to trap bugs easily and to perform data-dependent analyses.</p>
<div id="attachment_408" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-408" title="dotnet-tracer-and-profiler" src="http://kossovsky.net/wp-content/uploads/2009/07/dotnet-tracer-and-profiler-300x224.png" alt="SpeedTrace - .NET Profiler and Tracer" width="300" height="224" /><p class="wp-caption-text">SpeedTrace - .NET Profiler and Tracer</p></div>
<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.6" /></div><div>Rating: 4.6/<strong>5</strong> (5 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />
<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fkossovsky.net%2Findex.php%2F2009%2F07%2Fspeedtrace-net-profiler-and-tracer%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>


<p>Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/07/csharp-the-double-trouble/' rel='bookmark' title='Permanent Link: C# The &#8220;double&#8221; trouble'>C# The &#8220;double&#8221; trouble</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/unusual-software-bugs/' rel='bookmark' title='Permanent Link: Unusual software bugs'>Unusual software bugs</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/string-empty-versus-empty-quotes/' rel='bookmark' title='Permanent Link: C# string.Empty vs &#8220;&#8221;'>C# string.Empty vs &#8220;&#8221;</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://kossovsky.net/index.php/2009/07/speedtrace-net-profiler-and-tracer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C# The &#8220;double&#8221; trouble</title>
		<link>http://kossovsky.net/index.php/2009/07/csharp-the-double-trouble/</link>
		<comments>http://kossovsky.net/index.php/2009/07/csharp-the-double-trouble/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 21:37:16 +0000</pubDate>
		<dc:creator>Xander</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Interview Questions]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Teasers]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[c#.net]]></category>
		<category><![CDATA[c-sharp]]></category>
		<category><![CDATA[d1 d2]]></category>
		<category><![CDATA[digits]]></category>
		<category><![CDATA[double]]></category>
		<category><![CDATA[double trouble]]></category>
		<category><![CDATA[floating]]></category>
		<category><![CDATA[floating point]]></category>
		<category><![CDATA[guarantees]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[main string]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[net c#]]></category>
		<category><![CDATA[numeric value]]></category>
		<category><![CDATA[point]]></category>
		<category><![CDATA[precision]]></category>
		<category><![CDATA[Puzzle]]></category>
		<category><![CDATA[simple answer]]></category>
		<category><![CDATA[string args]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[visual c#]]></category>

		<guid isPermaLink="false">http://kossovsky.net/?p=360</guid>
		<description><![CDATA[This is a very simple question with a not so simple answer&#8230; Forget for a second about .NET. If someone asks you how much is 1.000025 &#8211; 0.000025 your answer will probably be &#8220;1&#8243; and correct. An easy question, right ? Now, let&#8217;s go back to .NET and check if our calculations are correct. static [...]<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.3" /></div><div>Rating: 4.3/<strong>5</strong> (6 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />


Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/06/csharp-inheritance-question/' rel='bookmark' title='Permanent Link: C# Inheritance Question'>C# Inheritance Question</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/string-empty-versus-empty-quotes/' rel='bookmark' title='Permanent Link: C# string.Empty vs &#8220;&#8221;'>C# string.Empty vs &#8220;&#8221;</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-increment-operator-question/' rel='bookmark' title='Permanent Link: C# Increment operator (++) question'>C# Increment operator (++) question</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This is a very simple question with a not so simple answer&#8230;</p>
<p>Forget for a second about .NET.<br />
If someone asks you how much is 1.000025 &#8211; 0.000025 your answer will probably be &#8220;1&#8243; and correct. An easy question, right ?</p>
<p>Now, let&#8217;s go back to .NET and check if our calculations are correct.</p>
<p><span id="more-360"></span></p>
<pre class="c-sharp" name="code">        static void Main(string[] args)
        {
            double d1 = 1.000025;
            double d2 = 0.000025;
            Console.WriteLine((d1 - d2) == 1);
        }</pre>
<p>If you think the result will be &#8220;true&#8221;&#8230; well, it&#8217;s not.</p>
<p>Let&#8217;s see another example :</p>
<pre class="c-sharp" name="code">        static void Main(string[] args)
        {
            double d1 = 1.000025;
            double d2 = 0.000025;

            // Will result 1
            Console.WriteLine(d1 - d2);

            // Will result 0.99999999999999989
            Console.WriteLine((d1 - d2).ToString ("R"));
        }</pre>
<p>For those who might not know, the meaning of ToString(&#8220;R&#8221;) is <a title="MSDN - Standard Numeric Format Strings" href="http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx" target="_blank">Round-trip</a>.</p>
<blockquote><p>This format is supported only for the Single and Double types. The round-trip specifier guarantees that a numeric value converted to a string will be parsed back into the same numeric value. When a numeric value is formatted using this specifier, it is first tested using the general format, with 15 spaces of precision for a Double and 7 spaces of precision for a Single. If the value is successfully parsed back to the same numeric value, it is formatted using the general format specifier. However, if the value is not successfully parsed back to the same numeric value, then the value is formatted using 17 digits of precision for a Double and 9 digits of precision for a Single.</p></blockquote>
<p>So, what happened here ? Is it a bug ?<br />
The answer is &#8211; NO, IT&#8217;S NOT A BUG ( and it&#8217;s not happening only on my computer ).</p>
<p>The thing is, that the above is about how .NET rounding a floating point number.<br />
I won&#8217;t explain here the math ( there is already a great <a title="What Every Computer Scientist Should Know About Floating-Point Arithmetic" href="http://docs.sun.com/source/806-3568/ncg_goldberg.html" target="_blank">article</a> explaining it ), and i won&#8217;t say don&#8217;t use floating point types.</p>
<p>You just need to know that when you are using it &#8211; be carefull, especialy in equations and formatting, otherwise your calculations will be wrong and your result not accurate.</p>
<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.3" /></div><div>Rating: 4.3/<strong>5</strong> (6 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />
<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fkossovsky.net%2Findex.php%2F2009%2F07%2Fcsharp-the-double-trouble%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>


<p>Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/06/csharp-inheritance-question/' rel='bookmark' title='Permanent Link: C# Inheritance Question'>C# Inheritance Question</a></li>
<li><a href='http://kossovsky.net/index.php/2009/06/string-empty-versus-empty-quotes/' rel='bookmark' title='Permanent Link: C# string.Empty vs &#8220;&#8221;'>C# string.Empty vs &#8220;&#8221;</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-increment-operator-question/' rel='bookmark' title='Permanent Link: C# Increment operator (++) question'>C# Increment operator (++) question</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://kossovsky.net/index.php/2009/07/csharp-the-double-trouble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# Inheritance Question</title>
		<link>http://kossovsky.net/index.php/2009/06/csharp-inheritance-question/</link>
		<comments>http://kossovsky.net/index.php/2009/06/csharp-inheritance-question/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 21:39:33 +0000</pubDate>
		<dc:creator>Xander</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Interview Questions]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[c#.net]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[Inheritance]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[main string]]></category>
		<category><![CDATA[net c#]]></category>
		<category><![CDATA[Overloading]]></category>
		<category><![CDATA[public static string]]></category>
		<category><![CDATA[puzzles]]></category>
		<category><![CDATA[simple questions]]></category>
		<category><![CDATA[string result]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[visual c#]]></category>

		<guid isPermaLink="false">http://kossovsky.net/?p=191</guid>
		<description><![CDATA[The following are two simple questions related to C# inheritance. Please try to give an answer without executing the code, otherwise where is the fun part ? // Question #1 class Program { static void Main(string[] args) { int i = 13; string Result = B.Get(i); Console.WriteLine(Result); } } public class A { public static [...]<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (4 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />


Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/07/csharp-increment-operator-question/' rel='bookmark' title='Permanent Link: C# Increment operator (++) question'>C# Increment operator (++) question</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-the-double-trouble/' rel='bookmark' title='Permanent Link: C# The &#8220;double&#8221; trouble'>C# The &#8220;double&#8221; trouble</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-linq-teaser/' rel='bookmark' title='Permanent Link: C# LINQ Teaser'>C# LINQ Teaser</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The following are two simple questions related to C# inheritance.<br />
Please try to give an answer without executing the code, otherwise where is the fun part ?<br />
<span id="more-191"></span></p>
<pre class="c-sharp" name="code">
    // Question #1
    class Program
    {
        static void Main(string[] args)
        {
            int i = 13;
            string Result = B.Get(i);
            Console.WriteLine(Result);
        }
    }

    public class A
    {
        public static string Get(int Value) {
            return "A";
        }
    }

    public class B : A
    {
        public static string Get(float Value)
        {
            return "B";
        }
    }
</pre>
<pre class="c-sharp" name="code">
    // Question #2
    class Program
    {
        static void Main(string[] args)
        {
            int i = 13;
            string Result = B.Get(i);
            Console.WriteLine(Result);
        }
    }

    public class B
    {
        public static string Get(float Value)
        {
            return "B";
        }

        public static string Get(int Value) {
            return "A";
        }
    }
</pre>
<p>What will be the result of the above code parts ?</p>
<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (4 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />
<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fkossovsky.net%2Findex.php%2F2009%2F06%2Fcsharp-inheritance-question%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>


<p>Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/07/csharp-increment-operator-question/' rel='bookmark' title='Permanent Link: C# Increment operator (++) question'>C# Increment operator (++) question</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-the-double-trouble/' rel='bookmark' title='Permanent Link: C# The &#8220;double&#8221; trouble'>C# The &#8220;double&#8221; trouble</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/csharp-linq-teaser/' rel='bookmark' title='Permanent Link: C# LINQ Teaser'>C# LINQ Teaser</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://kossovsky.net/index.php/2009/06/csharp-inheritance-question/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>C# Captcha</title>
		<link>http://kossovsky.net/index.php/2009/06/captcha/</link>
		<comments>http://kossovsky.net/index.php/2009/06/captcha/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 08:38:50 +0000</pubDate>
		<dc:creator>Xander</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[c class]]></category>
		<category><![CDATA[Captcha]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[secret key]]></category>
		<category><![CDATA[suits]]></category>
		<category><![CDATA[Validation]]></category>
		<category><![CDATA[web control]]></category>

		<guid isPermaLink="false">http://kossovsky.net/?p=159</guid>
		<description><![CDATA[This is a C# class which allows you to create Web and WinForm captcha control. The class is very configurable, so finaly you could create a Captcha that suits your needs. You can hold the Captcha secret key as a session or an encrypted cookie variable. Coming soon&#8230; Rating: 0.0/5 (0 votes cast) Related posts:CTRL+A [...]<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />


Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/06/ctrla-image-maker/' rel='bookmark' title='Permanent Link: CTRL+A Image maker'>CTRL+A Image maker</a></li>
<li><a href='http://kossovsky.net/index.php/2009/10/jtemplates-jquery-template-engine/' rel='bookmark' title='Permanent Link: jTemplates &#8211; jQuery Template Engine'>jTemplates &#8211; jQuery Template Engine</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/aforge-net-image-processing/' rel='bookmark' title='Permanent Link: C# Image Processing with AForge.NET Framework'>C# Image Processing with AForge.NET Framework</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This is a C# class which allows you to create Web and WinForm captcha control.<br />
The class is very configurable, so finaly you could create a Captcha that suits your needs.<br />
You can hold the Captcha secret key as a session or an encrypted cookie variable.</p>
<p>Coming soon&#8230;</p>
<br /><div><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://kossovsky.net/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br />
<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fkossovsky.net%2Findex.php%2F2009%2F06%2Fcaptcha%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>


<p>Related posts:<ol><li><a href='http://kossovsky.net/index.php/2009/06/ctrla-image-maker/' rel='bookmark' title='Permanent Link: CTRL+A Image maker'>CTRL+A Image maker</a></li>
<li><a href='http://kossovsky.net/index.php/2009/10/jtemplates-jquery-template-engine/' rel='bookmark' title='Permanent Link: jTemplates &#8211; jQuery Template Engine'>jTemplates &#8211; jQuery Template Engine</a></li>
<li><a href='http://kossovsky.net/index.php/2009/07/aforge-net-image-processing/' rel='bookmark' title='Permanent Link: C# Image Processing with AForge.NET Framework'>C# Image Processing with AForge.NET Framework</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://kossovsky.net/index.php/2009/06/captcha/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
