Do you need to null check a "params" array?
The C# programming language allows for the creation of methods that take an arbitrary number of arguments via the
params keyword. Although I have used that feature many times, and null-checked the array every time, I have never really stopped to think about whether the array is or is not null,until now. Is it necessary to null-check the
. . .
More with Extension Methods and Implied Generic Arguments
I have previously written an article entitled "C# .NET -- Implied Generics in Extension Methods:
A Really Cool Way to Raise Events". This new article extends upon that to easily create
Tuple objects and
As you may recall from the mentioned article, the C# compiler has a really awesome ability to . . .
There are a variety of reasons one might want to get a resource associated with an
enum element. For example, it might be necessary to find an error message to display to a user or return in a web service call. Or, perhaps you need to find an icon associated with a status, etc. This article shows how to find a string from a resource file . . .
Enums Can Behave Like Constants
The C# .NET language has constants, and it has variables. A constant is essentially a value that is known at compile-time, whereas a variable is essentially a placeholder of a specific type for a value that can change at runtime. An
enum is a bit of an anomaly because it defines a type with unique set of elements backed by an integer type . . .
A Really Cool Way to Raise Events
I have previously written an article on extensions methods, which included some information about using generics with extension methods. Since that time, I have stumbled across something I did not previously realize:
If the compiler can figure out the generic type from one of the parameters passed into the extension method, you . . .
In a multi-threaded application, synchronization is key to protect data integrity. There are numerous ways to accomplish data synchronization in .NET and C#, such as the commonly used
System.Threading.Monitor .NET Framework class and corresponding C#
lock statement. But, when it comes to super-fast synchronization, nothing beats the . . .