Extension methods - don't we all just love them. If you've been out of the .Net 3.5 loop, here's some catching up - Extension Methods (C# Programming Guide). I thought i'd share some handy string extension methods i've come to love during my experience with C# 3.0. I've never been quite fond of the static String.IsNullOrEmpty
method, but thanks to extension methods i can now turn it into an instance method as extension methods can be called on null values as well.
public static class StringExtensions { public static string GetValueOrEmpty(this string @string) { return @string.IsNullOrEmpty() ? String.Empty : @string; } public static string ToSingleLine(this string @string) { if(@string.IsNullOrEmpty()) return String.Empty; string singleLineString = @string.Replace(Environment.NewLine, " "); return singleLineString; } public static bool IsNullOrEmpty(this string @string) { return String.IsNullOrEmpty(@string); } }
If you have any nifty extension methods that you'd be willing to share, let the readers know through the comments.
Peace,
Mihkel
1 comments:
I have two methods for strings that are quite similar to yours:
IsNotNullOrEmpty { return !string.IsNullOrEmpty(source); }
and
EmptyIfNull { return source ?? string.Empty; }
For IEnumerable-s, the most useful timesavers for me have been .IsEmpty() and .EmptyIfNull<T>(). The first one uses the Linq extension method Count() and the second one returns an empty list of type T.
I also have two generic methods for all objects, which proved useful in my current project:
public static bool IsNull<T>(this T source)
{
return Equals(source, default(T));
}
public static T DefaultIfNull<T>(this T source) where T : class, new()
{
return source ?? new T();
}
Post a Comment