<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss version="2.0"><channel><title>Dot Net Perls</title>
<description>This feed contains captions from the most recently updated articles on Dot Net Perls.</description>
<link>http://dotnetperls.com/</link>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/dnp1" type="application/rss+xml" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdnp1" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdnp1" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdnp1" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/dnp1" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdnp1" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fdnp1" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdnp1" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fdnp1" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><item><title>Break Statement</title>
<link>http://dotnetperls.com/break</link><description>You want to learn about the keyword break in the C# programming language and see examples of its usage in for-loops and foreach-loops as well as switch-statements. The break keyword provides a convenient way to alter control flow in the program but has subtle and important differences depending on its context. Here we look at examples of the break keyword in the C# language, primarily in loops and switch statements, and then note other places where you may find it and what instruction implements it in the assembly language.</description></item>
<item><title>Math.E Constant</title>
<link>http://dotnetperls.com/math-e</link><description>You are using the Math class in the System library in your C# program and are wondering what usages exist for the public float value E, which you can access with Math.E. This is a public double type that stores the first digits of the base of the natural logarithm, but does not have enough digits for many usages. Here we look at the Math.E constant in the .NET Framework using the C# programming language, first seeing an example of the double type and then finding ways to use E.</description></item>
<item><title>PadLeft String Method</title>
<link>http://dotnetperls.com/padleft</link><description>You have strings of any length in your C# program and want to align them to the right of a text column, storing this string for later use or printing it to the console. The .NET Framework provides the excellent PadLeft method for this purpose, which you can use alone or combine with other padding methods.  Here we look at an example of the PadLeft method on the string class in the C# programming language targeting the .NET Framework, and then note some issues related to padding.</description></item>
<item><title>Dictionary StringComparer Tip</title>
<link>http://dotnetperls.com/dictionary-stringcomparer</link><description>You want to improve the lookup performance of your Dictionary collection in the C# language with a small change that requires no algorithmic analysis. The Dictionary collection in System.Collections.Generic provides a way to specify an ordinal-based string comparer, resulting in much faster Dictionaries with string keys. Here we look at how you can use the StringComparer.Ordinal class in the C# programming language with the Dictionary constructor to improve hash table lookups in many programs.</description></item>
<item><title>DateTime.TryParse Example</title>
<link>http://dotnetperls.com/datetime-tryparse</link><description>You have a string that may contain a valid representation of the date and time, but there is a possibility it is invalid. Convert it into a DateTime instance using the DateTime.TryParse method, which is ideal for this purpose.  Here we look at how you can use the DateTime.TryParse static method in the C# programming language, providing two examples of its usage on valid and invalid dates, and then note other issues related to date and time parsing.</description></item>
<item><title>Reflection Field Example</title>
<link>http://dotnetperls.com/reflection-field</link><description>You have a class with instance or static fields of any type in the C# programming language and want to loop through those fields and display their names and values. The System.Reflection namespace in the .NET Framework provides a powerful and maintainable way to enumerate fields and properties in the C# language. Here we look at how you can loop through fields using reflection in the C# language, using the typeof expression and the GetFields method, followed by a foreach-loop construct.</description></item>
<item><title>Validate Characters in String</title>
<link>http://dotnetperls.com/validate-characters-string</link><description>You are dealing with strings in your C# program and want to make sure that each string only contains a certain range of characters, or that each string must not contain certain characters. The C# language and .NET Framework provides several ways of doing this, but using regular expressions can be less clear and far slower in runtime performance. Here we look at how you can loop through strings in the C# language and detect ranges of characters and specific characters, using the Regex.IsMatch method with character ranges and also a switch statement.</description></item>
<item><title>Main Args Examples</title>
<link>http://dotnetperls.com/main</link><description>You want to use an argument list from the command-line in the Main method of your C# program. The C# programming language provides a string array called args that is populated with the command-line arguments from the Windows operating system. Here we look at how you can use the args string array in the Main entry point in the C# language targeting the .NET Framework on the Windows desktop operating system to create programs that receive parameters automatically on execution.</description></item>
<item><title>Enum String Method</title>
<link>http://dotnetperls.com/enum-string</link><description>You want to get a string representation of an enum constant in your C# program, which you can store in a string variable or pass as a parameter to a method that demands a string. The ToString() method on the enum base type allows you to convert a constant to a string literal, solving this requirement. Here we look at how you can use the ToString parameterless overload on the enum abstract base type in the C# programming language, seeing a result of this method invocation and then using it in a loop for even greater utility.</description></item>
<item><title>Sealed Class Test 1</title>
<link>http://dotnetperls.com/sealed-1</link><description>You want to see if the keyword sealed in the C# programming language can improve the optimization and performance of your code targeting the .NET Framework. The keyword sealed provides a way to demand that the class not be inherited from, but it is also useful for performance optimization. Here we inspect the sealed keyword in the C# programming language, seeing how you can apply it to a regular interface implementation and that the JIT can optimize the virtual method dispatch better on a sealed class.</description></item>
<item><title>Console.ReadLine Tips</title>
<link>http://dotnetperls.com/console-readline</link><description>You want to read user input from the console in your C# program in the simplest way possible. The Console.ReadLine method in the System namespace in the .NET Framework allows you to read a string of characters, which you can then test and transform with other framework methods to accomplish this task. Here we look at how you can use the Console.ReadLine method to read in user input from the console window, seeing both a looping example and an example that parses input as integers, using the C# programming language.</description></item>
<item><title>GC.GetTotalMemory Usage</title>
<link>http://dotnetperls.com/gc-gettotalmemory</link><description>You want to see an example of using the GC.GetTotalMemory method from the System namespace in the .NET Framework and the C# programming language. This method returns the number of bytes allocated in the managed heap, but not in the specific program. Here we look at how you can use the GC.GetTotalMemory with the subtraction operator to see how memory usage on the managed heap changes as objects are allocated and the garbage collector is invoked, using the C# language.</description></item>
<item><title>Timer Tutorial</title>
<link>http://dotnetperls.com/timer</link><description>Your program is critical and you must keep it running. You want to use a System.Timer to periodically check to make sure it is working correctly. Run diagnostics in the Timer event and ensure your site is functioning. Here we look at System.Timers in the C# programming language and discuss ways they can improve your program.</description></item>
<item><title>Foreach Loop Examples</title>
<link>http://dotnetperls.com/foreach</link><description>You have a collection in your C# program, such as an array of elements or a generic collection. Use the foreach-loop in the C# programming language to loop over the elements in this reference variable, providing a powerful and simple way to enumerate the individual values with less complex syntax than the traditional for-loop. Here we look at how you can use the foreach-loop in your C# programs, combining it with an array of data and LINQ expressions, and then compare it to the for-loop construct and note compile-time errors.</description></item>
<item><title>Combine Arrays Example</title>
<link>http://dotnetperls.com/combine-arrays</link><description>You have two arrays that contain the same types of elements in your C# program. For further processing in your program, you need these two arrays to be combined into a single array reference, allowing you to use both parts of the data in a single collection as a method parameter or for binding to a control. There are several ways to combine arrays but you also want one of the simplest ways to do it. Here we look at how you can take two arrays and turn them into a single array using the List constructed type and its AddRange method in the .NET Framework and C# programming language.</description></item>
<item><title>Swap Methods</title>
<link>http://dotnetperls.com/swap</link><description>You have an array or string in your C# program and want to swap the values in two separate elements so that they both are still present but in opposite locations. There is no built-in method for this purpose on most types so you have to implement a custom swap method for string characters and other types. Here we look at how you can implement swap methods in the C# programming language that operate on the string data type or an integer array type.</description></item>
<item><title>Remove Char Program</title>
<link>http://dotnetperls.com/remove-char</link><description>You have an input string in your C# program and want to remove one character from its character buffer, which could be at a specific index or must be searched for first. The .NET Framework provides the Remove method on the string type that can help with this problem, but sometimes you may also require the IndexOf method. Here we look at how you can remove a specific character at an index or with a certain value from a string in the C# programming language.</description></item>
<item><title>TextInfo Method Tips 1</title>
<link>http://dotnetperls.com/textinfo-1</link><description>You want to use the TextInfo class and its ToLower method or other instance methods in the C# programming language and the System.Globalization namespace. The TextInfo type provides useful methods for changing the case of strings. Here we look at how you can use the TextInfo class and its ToLower instance method, also seeing examples of evaluating the TextInfo virtual property and a benchmark of the method against the more common string function member.</description></item>
<item><title>Chrome and Firefox 3.5 Memory Usage</title>
<link>http://dotnetperls.com/chrome-memory</link><description>You are interested in how the Google Chrome 3.0 Dev, Firefox 3.5 RC, Safari 4.0 for Windows, and Opera 10b web browsers manage memory on the Windows Vista operating system over moderate usage, such as with 150 top web sites. These numbers can be measured but there are complexities involved in measuring memory. Here we look at a program that simulates a user visiting the top 150 web sites from Alexa from the command line, with visits occurring at short but varying intervals in many tabs.</description></item>
<item><title>ContainsValue Dictionary Example</title>
<link>http://dotnetperls.com/containsvalue</link><description>You want to determine if a value is found is in your Dictionary generic collection in the C# programming language. Sometimes you cannot access the Dictionary only by looking up keys and want to search for a specific value. The ContainsValue instance method on the Dictionary type provides this functionality. Here we look at how you can use the ContainsValue method and its Boolean result value to search the values in the entries in your Dictionary.</description></item>
<item><title>Sleep Method Pauses Programs</title>
<link>http://dotnetperls.com/sleep</link><description>You are developing a program in the C# language targeting the .NET Framework that must wait on an external process or procedure for some period of milliseconds to ensure correct execution of the application. The Thread.Sleep method in the .NET Framework and the System.Threading namespace provides a way to suspend your program. Here we look at how you can use the Thread.Sleep method in the .NET Framework, seeing an example of using Thread.Sleep with different millisecond parameters and then exploring how it affects the process.</description></item>
<item><title>Dictionary Optimization Tip 1</title>
<link>http://dotnetperls.com/dictionary-optimization</link><description>You have a Dictionary generic collection in your C# program that does frequent lookups and may be in a hot path of your program during runtime. Sometimes you can optimize hashtables like Dictionary simply by changing the capacity of the collection so that it is higher than the default, effectively trading space for speed. Here we look at how you can optimize the Dictionary collection in your C# program by increasing the capacity of the object beyond the minimum or default value, which will improve lookup speed as well as other aspects of the Dictionary.</description></item>
<item><title>String.Compare Method</title>
<link>http://dotnetperls.com/string-compare</link><description>You want to determine if one string is ordered before another when in alphabetical order, or whether it is ordered after or is equivalent. The .NET Framework's comparison methods, including Compare, CompareOrdinal, and CompareTo provide this functionality and are well-tested in the C# language. Here we look at how you can invoke the Compare, CompareOrdinal, and CompareTo methods in the C# programming language, seeing the results of the methods on example strings.</description></item>
<item><title>List Add Method</title>
<link>http://dotnetperls.com/list-add</link><description>You want to add an element that is either a value type or a reference type to your List instance in the C# language. The Add instance method on the List type has internal logic that allows you to add elements to the end of the collection quickly. Here we look at how you can invoke the Add method on the List constructed type in the C# programming language to add an element type to the end of a List.</description></item>
<item><title>ContainsKey Dictionary Method</title>
<link>http://dotnetperls.com/containskey</link><description>You want to test your Dictionary to see if it contains data accessible at a certain key. The Dictionary generic collection in the C# language and .NET Framework has a ContainsKey method that provides this functionality, but its usage can be tricky for developers unfamiliar with the syntax. Here we look at how you can use the ContainsKey instance method with one parameter on the Dictionary type from the System.Collections.Generic namespace using the C# programming language.</description></item>
<item><title>Hashtable Count Property</title>
<link>http://dotnetperls.com/hashtable-count</link><description>You want to compute the total number of elements in your Hashtable collection in your C# program targeting the .NET Framework. The Hashtable class has a useful Count property that will return this value as an integer, which is ideal for this purpose. Here we look at how you can use the Count property on the Hashtable data structure in the C# language, which implements an associative array with a hash code computation.</description></item>
<item><title>Dictionary Parameter and Return Value</title>
<link>http://dotnetperls.com/dictionary-parameter</link><description>You are using the Dictionary type in your C# program targeting the .NET Framework and want to use the Dictionary instance in other methods. The Dictionary type can be used as a parameter to methods and you can also return Dictionary variables in your programs. Here we look at how you can use the Dictionary constructed type in the .NET Framework as a parameter to methods, seeing an example and then discussing some design issues.</description></item>
<item><title>Hashtable Keys and Values</title>
<link>http://dotnetperls.com/hashtable-keys</link><description>You want to get all the keys or values in your Hashtable collection, using the tested .NET Framework methods available on the Hashtable in the C# language. The Keys and Values properties return the collections of keys and values, and are ideal for this purpose. Here we look at how you can use the Keys and Values properties on the Hashtable collection in the C# programming language.</description></item>
<item><title>RemoveAll List Method</title>
<link>http://dotnetperls.com/removeall</link><description>You want to filter and remove all elements in your List collection using a lambda expression, reducing the size of your code and improving clarity. The List constructed type in the .NET Framework contains a RemoveAll method, which accepts a Predicate expression for this purpose. Here we see how you can remove all elements in a List matching a certain condition in a single line of C# code, using the RemoveAll method.</description></item>
<item><title>Rename File and File.Move Method</title>
<link>http://dotnetperls.com/rename-file</link><description>You want to rename a file using the tested methods in the .NET framework and the C# programming language. The File class in the System.IO namespace provides the convenient File.Move method, which performs a fast rename of the file you target, but can throw exceptions if you do not use it correctly. Here we look at how you can use the File.Move method in the .NET framework to rename files on the disk, seeing what happens when the files exist and do not exist, and how you can detect programs, using the C# language.</description></item>
<item><title>Absolute Value and Math.Abs Method</title>
<link>http://dotnetperls.com/absolute-value</link><description>You want to compute the absolute value of a value type in your C# program using the tested framework classes, resulting in a number that is always positive. The Math.Abs method in the .NET Framework provides a tested absolute value function, which deals with some edge cases for you. Here we look at the Math.Abs method in the .NET Framework, first seeing examples of it being used on negative and positive integers and doubles, and then checking its internal implementation in the C# language.</description></item>
<item><title>Sum Method</title>
<link>http://dotnetperls.com/sum</link><description>You want to compute the sum total of all the numbers in an array of integers or List of integers in the C# programming language. The Sum extension method in LINQ provides an excellent way to do this with minimal calling code, but has some drawbacks as well as pluses. Here we look at how you can use the Sum extension method from the System.Linq namespace in the C# language, seeing an example on an array and List.</description></item>
<item><title>OpenFileDialog Tutorial</title>
<link>http://dotnetperls.com/openfiledialog</link><description>You need to open a file specified by the user in your C# program targeting the .NET Framework, showing a dialog box. The Windows Forms platform has an excellent OpenFileDialog control which allows you to display the standard Windows dialog box, and then you can read in the results in your C# code. Here we look at how you can use the OpenFileDialog control in Windows Forms by adding the control in Visual Studio, also opening the dialog with a button click and reading in the specified file using the C# language.</description></item>
<item><title>PPMd Compression Benchmark in 7-Zip</title>
<link>http://dotnetperls.com/ppmd</link><description>You want to compress text files with the best compression algorithms which yield the smallest compressed files. The 7-Zip open-source compression utility provides several options, with the best one being the PPMd algorithm on certain data. Here we look at the PPMd "Prediction by Partial Matching" algorithm in 7-Zip, comparing its results on a popular web page to the most popular algorithms.</description></item>
<item><title>Dictionary Object and Member</title>
<link>http://dotnetperls.com/dictionary-object</link><description>You want to use a Dictionary inside a class type in your C# program, using this Dictionary as an internal field in another object. The Dictionary type can be used as a member variable and this is a very useful way to store data that must be accessed quickly throughout the life of your program targeting the .NET Framework. Here we look at how you can use the Dictionary type inside another type in a C# program, using accessor methods to operate on the Dictionary field from another object's methods.</description></item>
<item><title>Initialize List</title>
<link>http://dotnetperls.com/initialize-list</link><description>You want to add several initial elements to a List collection variable in your C# program targeting the .NET Framework. The List constructed type and the collection initializer syntax built into the C# programming language offer you several options to initialize Lists, with most being compiled to essentially the same MSIL. Here we look at how you can initialize List variables with several elements at runtime, first seeing string element examples and then seeing how you can initialize object collections in new Lists.</description></item>
<item><title>Math.Floor Method</title>
<link>http://dotnetperls.com/math-floor</link><description>You want to see an example of the Math.Floor method in the C# programming language, which is useful for rounding down a number type such as decimal or double to the nearest integer. The Floor method is straightforward but very useful when it is called for in programming. Here we look at an example of the Math.Floor method in the C# language targeting the .NET Framework, seeing an example of it being used on two double types and then discussing subtle points with Floor.</description></item>
<item><title>CopyTo String Method</title>
<link>http://dotnetperls.com/string-copyto</link><description>You want to copy a group of characters from one source string into a character array of a certain size in the C# programming language. The .NET Framework class library provides a CopyTo instance method on the string type, which contains low-level character-copying code for this purpose. Here we look at the CopyTo instance method on the string type in the C# language, which requires four parameters and writes the results into a specified array of characters.</description></item>
<item><title>Replace String Examples</title>
<link>http://dotnetperls.com/replace-vbnet</link><description>You need to change the contents of a String in your VB.NET program so that all instances of one substring become another substring. The Replace instance method on String in the VB.NET programming language and the .NET Framework base class library lets you do this easily. Here we look at how you can use the Replace instance method on the string type, and how it replaces substrings in strings.</description></item>
<item><title>Math.Ceiling Usage</title>
<link>http://dotnetperls.com/math-ceiling</link><description>You have a floating-point number in double or decimal form and want to round the value up to the next full integer. This means that any number over 1 but under 2 would be rounded to 2, for example, which is not the same result from rounding a number. The method that implements this logic is called Math.Ceiling in the C# programming language and is considered a ceiling function in mathematics. Here we look at the Math.Ceiling method in the base class library using the C# language, seeing examples of its usage and then discussing details of the function.</description></item>
<item><title>Math.Round Method, Rounding Numbers</title>
<link>http://dotnetperls.com/math-round</link><description>You are processing numbers with decimal places in your C# program and want to round numbers to the nearest value with the desired number of significant digits. In the .NET Framework, the Math.Round static method provides an accurate way to round double and decimal types without the risk of bugs. Here we look at how you can use the Math.Round method in the base class library with the C# language, seeing an example of rounding modes and input and output of the method.</description></item>
<item><title>WebClient Tutorial</title>
<link>http://dotnetperls.com/webclient</link><description>You want to use the WebClient class in the System.Net namespace to download web pages and files using the C# language targeting the .NET Framework. This class makes it possible to easily download web pages for testing, allowing you to automate important tests for high-value web sites. Here we look at the WebClient class and its properties methods, which is found in the System.Net namespace in the .NET Framework, using the C# programming language.</description></item>
<item><title>Regex.Escape Method</title>
<link>http://dotnetperls.com/regex-escape</link><description>You want to see an example of using the Regex.Escape method in the C# programming language found in the System.Text.RegularExpressions namespace. This is a powerful method that helps convert user-specified strings into escaped strings to match in a regular expression. Here we examine the Regex.Escape method in the .NET Framework, first seeing an example and then discussing possible uses, using the C# language.</description></item>
<item><title>DataGridView Usage</title>
<link>http://dotnetperls.com/datagridview-vbnet</link><description>You need to use the DataGridView control in the VB.NET language targeting Windows Forms to display and provide an interface to your data. The DataGridView control is an excellent way to display and allow editing for your data, which can then be persisted in the database again. Here we look at some important parts of using the DataGridView control in the VB.NET language, first using the DataSource property, then binding an object collection, assigning cells, getting the current cell, and more.</description></item>
<item><title>Ushort Example</title>
<link>http://dotnetperls.com/ushort</link><description>You want to read about the ushort data type in the C# programming language, for possible usage in your program targeting the .NET Framework. This is a 16-bit unsigned integer type that is aliased to the System.UInt16 type in the base class library. Here we look at the ushort integral type in the C# language, first at how you can declare it and then its typeof value, and finally an array of ushorts and discussion of its uses.</description></item>
<item><title>FileNotFoundException Tips</title>
<link>http://dotnetperls.com/filenotfoundexception</link><description>You want to see an example and possible solution to the FileNotFoundException in your program written in the C# language. This exception is raised when you try to access a file that must exist for the method to proceed. It normally is used in programs that include the System.IO namespace. Here we look at a program written in the C# language that causes the FileNotFoundException to be thrown, and then discuss possible ways you can solve the exception in your programs.</description></item>
<item><title>Ulong Type</title>
<link>http://dotnetperls.com/ulong</link><description>You are interested in seeing some information and examples for the ulong type in the C# programming language and the System namespace. The ulong type offers an extremely large maximum value, and contains a full 64 bits of memory for storage. Here we look at an example program that uses the ulong type, first declaring and printing it, and then showing the maximum and minimum values, in the C# language.</description></item>
<item><title>Favicon.ico Compression Tutorial</title>
<link>http://dotnetperls.com/favicon-compression</link><description>Your favicon.ico file is downloaded by each new visitor to your website and you want to optimize it to reduce bandwidth costs and server load. Read about the process that yielded a 832 byte reduction of most visits to one of the most popular sites in the world, Yahoo. Here we use ImageMagick to reduce the byte size of favicons and compare the results.</description></item>
<item><title>Random String</title>
<link>http://dotnetperls.com/random-string</link><description>You want to generate random strings in the C# programming language targeting the .NET Framework. The base class library provides an excellent method in System.IO that generates random strings with the highest quality randomness, and is very easy to use in your code. Here we look at how you can generate random strings using the GetRandomFileName method, which internally uses high-quality random numbers to generate the strings, using the C# language.</description></item>
<item><title>String.Copy Method</title>
<link>http://dotnetperls.com/string-copy</link><description>You want to explore the string Copy method in the base class library of the .NET Framework, using the C# programming language. This method is not useful often, but rarely has a place when using string interning. Here we look at the String.Copy method in the C# language, seeing an example of its functionality and then discussing its problems.</description></item>
</channel></rss>
