Remove Whitespace from C# Strings

37 Comments »

You probably knew that you can use the String.Trim method to remove whitespace from the start and end of a C# string.  Unfortunately, the Trim method does not remove whitespace from the middle of a string.

Read the rest of this entry »

Format String for XML Value

3 Comments »

Of course you know that XML denotes element names with greater-than and less-than symbols, such as:

<name>value</name>

Therefore, to avoid confusing the XML parser, the greater/less symbols (and the ampersand, an HTML special character) must be encoded.

Read the rest of this entry »

All Objects Are Not Created Equal

No Comments »

C# object equality is one of those topics that seems easy on the surface but can get a little complicated when you dig into it.

Read the rest of this entry »

Reverse an Array

7 Comments »

It’s easy to reverse the contents of an array using C# generics:

Read the rest of this entry »

Params for Optional Arguments

No Comments »

The params keyword specifies a variable number of arguments to be passed to a constructor or method, such as:

public Test( string arg0, float arg1, params int[] args )
{
}

Read the rest of this entry »

Convert Generic ICollection

4 Comments »

As discussed in a previous article, Generics provides the ability to create strongly-typed collections in C#. Unfortunately, C# currently does not support generics variance, which would allow inheritance of generic types.

Read the rest of this entry »

Constructor Chaining

12 Comments »

When you want to share initialization code among multiple constructors, there are generally two approaches. 

Read the rest of this entry »

How to Cache an Object

No Comments »

For performance efficiency, you may wish to cache an object within another object. That sounds easy enough to do. But what if the object cannot be found? You have to take special care to ensure the object is not fetched repeatedly.

Read the rest of this entry »

Strings Don’t Add Up

4 Comments »

One way to format C# strings is to add strings together using the plus-sign operator, such as:

string fileStats =
    "Bytes=" + bytes.ToString() +
    ", Pages=" + pages.ToString() +
    ", Words=" + words.ToString();

This code will correctly produce the desired output but is inefficient and does not scale as well.

Read the rest of this entry »

Judge Character with Char.Is

No Comments »

There are multiple static “Is” methods on the Char structure that help determine a character’s category. All of these methods (except IsSurrogatePair) take a single character argument (or string and index) and return a boolean whether the character is in the corresponding category.

Read the rest of this entry »

« go backkeep looking »