Clever Convert. Really?
-
Are those pesky nulls bothering you? No problem - here's the Clever solution:
public class CleverConvert
{public static object IsNull(object value, object default\_value) { if (value == null) { return default\_value; } return value; } public static object IsDbNullOrNull(object value, object default\_value) { if (value == null | object.ReferenceEquals(value, DBNull.Value)) { return default\_value; } return value; } public static object IsDBNull(object value, object default\_value) { return null;// CleverConvert.IsDBNull(value, default\_value, value); } public static object IsDBNull(object value, object default\_value, object else\_value) { if (object.ReferenceEquals(value, DBNull.Value)) { return default\_value; } return else\_value; } public static string FormatDbNullDate(object value, string format) { string result = ""; if ((!object.ReferenceEquals(value, DBNull.Value)) & (value != null)) { result = ((DateTime)value).ToString(format); } return result; } public static object IsEmptyString(string value, object default\_value) { return IsEmptyString(value, default\_value, value); } public static object IsEmptyString(string value, object default\_value, object else\_value) { if (value == "") { return default\_value; } return else\_value; }
}
The class name and comments (actually a commented line) are the way I found them - I haven't changed anything.
-
Are those pesky nulls bothering you? No problem - here's the Clever solution:
public class CleverConvert
{public static object IsNull(object value, object default\_value) { if (value == null) { return default\_value; } return value; } public static object IsDbNullOrNull(object value, object default\_value) { if (value == null | object.ReferenceEquals(value, DBNull.Value)) { return default\_value; } return value; } public static object IsDBNull(object value, object default\_value) { return null;// CleverConvert.IsDBNull(value, default\_value, value); } public static object IsDBNull(object value, object default\_value, object else\_value) { if (object.ReferenceEquals(value, DBNull.Value)) { return default\_value; } return else\_value; } public static string FormatDbNullDate(object value, string format) { string result = ""; if ((!object.ReferenceEquals(value, DBNull.Value)) & (value != null)) { result = ((DateTime)value).ToString(format); } return result; } public static object IsEmptyString(string value, object default\_value) { return IsEmptyString(value, default\_value, value); } public static object IsEmptyString(string value, object default\_value, object else\_value) { if (value == "") { return default\_value; } return else\_value; }
}
The class name and comments (actually a commented line) are the way I found them - I haven't changed anything.
-
Are those pesky nulls bothering you? No problem - here's the Clever solution:
public class CleverConvert
{public static object IsNull(object value, object default\_value) { if (value == null) { return default\_value; } return value; } public static object IsDbNullOrNull(object value, object default\_value) { if (value == null | object.ReferenceEquals(value, DBNull.Value)) { return default\_value; } return value; } public static object IsDBNull(object value, object default\_value) { return null;// CleverConvert.IsDBNull(value, default\_value, value); } public static object IsDBNull(object value, object default\_value, object else\_value) { if (object.ReferenceEquals(value, DBNull.Value)) { return default\_value; } return else\_value; } public static string FormatDbNullDate(object value, string format) { string result = ""; if ((!object.ReferenceEquals(value, DBNull.Value)) & (value != null)) { result = ((DateTime)value).ToString(format); } return result; } public static object IsEmptyString(string value, object default\_value) { return IsEmptyString(value, default\_value, value); } public static object IsEmptyString(string value, object default\_value, object else\_value) { if (value == "") { return default\_value; } return else\_value; }
}
The class name and comments (actually a commented line) are the way I found them - I haven't changed anything.
-
Is this supposed to be c#? I suppose
var valueOrDefault = value ?? defaultValue;
was just too complicated?
Oh yes, that's C# I forgot to mention it
-
Are those pesky nulls bothering you? No problem - here's the Clever solution:
public class CleverConvert
{public static object IsNull(object value, object default\_value) { if (value == null) { return default\_value; } return value; } public static object IsDbNullOrNull(object value, object default\_value) { if (value == null | object.ReferenceEquals(value, DBNull.Value)) { return default\_value; } return value; } public static object IsDBNull(object value, object default\_value) { return null;// CleverConvert.IsDBNull(value, default\_value, value); } public static object IsDBNull(object value, object default\_value, object else\_value) { if (object.ReferenceEquals(value, DBNull.Value)) { return default\_value; } return else\_value; } public static string FormatDbNullDate(object value, string format) { string result = ""; if ((!object.ReferenceEquals(value, DBNull.Value)) & (value != null)) { result = ((DateTime)value).ToString(format); } return result; } public static object IsEmptyString(string value, object default\_value) { return IsEmptyString(value, default\_value, value); } public static object IsEmptyString(string value, object default\_value, object else\_value) { if (value == "") { return default\_value; } return else\_value; }
}
The class name and comments (actually a commented line) are the way I found them - I haven't changed anything.
The third one is especially sublime -- just return null no matter what. I think the compiler should detect the proportion of your methods that are static and if it is higher than say 2%, should issue an error "You are not fit to be programming. Please step away from the computer."
Matt Gerrans
-
Is this supposed to be c#? I suppose
var valueOrDefault = value ?? defaultValue;
was just too complicated?
Coming from a C++ background, I constantly have to remind myself about the ?? operator. One of these days, I will type it before ReSharper reminds me that my ?: expression can be converted into an equivalent ?? expression. :)
-- Kein Mitleid Für Die Mehrheit