How to check object is null or empty in C#.NET 3.5?
Solution 1
The problem that you are running into is that your object is of type, well, object. In order to evaluate it with string.IsNullOrEmpty, you should pass your object in with the cast to (string)
like so:
static void Main(string[] args)
{
object obj = null;
double d = Convert.ToDouble(string.IsNullOrEmpty((string)obj) ? 0.0 : obj);
Console.WriteLine(d.ToString());
}
This will work fine since you are not explicitly calling .ToString on your (nonexistent) object.
Solution 2
You are getting the null reference because you are executing obj.ToString()
which will return obj's ToString() method return value. Problem is that in the previous line you set obj to null so you will get an object reference not... error
To make your code work you need to do:
//This will check if it's a null and then it will return 0.0 otherwise it will return your obj.
double d = Convert.ToDouble(obj ?? 0.0);
Your code as it is now however will always be 0.0
Without null coalescing: (??)
double d = Convert.ToDouble(obj ? 0.0 : obj);
EDIT
If I understand correctly from the comments you want to know if the object is null or an empty string. You can do this by casting it to string first instead of calling the ToString method which does something entirely different:
string objString = (obj as string);
double d = Convert.ToDouble(string.IsNullOrEmpty(objString) ? "0.0" : objString);
Solution 3
class Program
{
static void Main(string[] args)
{
object obj = DBNull.Value;
if(obj != DBNull.Value) {
double d = Convert.ToDouble(obj);
Console.WriteLine(d.ToString());
}
}
}
Solution 4
It sounds like what you want to do is this:
object obj = null;
double d;
if (!double.TryParse(Convert.ToString(obj), out d))
{
d = 0.0;
}
But the question does not make a lot of sense.
Solution 5
You can use the ??
operator. It is known as the null-coalescing operator.
venkat
Updated on July 18, 2022Comments
-
venkat almost 2 years
If objects contains null or empty then how to validate or check the condition for the same?
How to bool check whether object obj is
null
orEmpty
I've code as follows:
class Program { static void Main(string[] args) { object obj = null; double d = Convert.ToDouble(string.IsNullOrEmpty(obj.ToString()) ? 0.0 : obj); Console.WriteLine(d.ToString()); } }
With this code i'm getting
NullReference Exception
asObject reference not set to an instance of an object.
Pls help.
Here I'm not getting....
How to validate whether that object is
null
orEmpty
without converting into .ToString() ??Is there an approach to check the same??
-
venkat about 12 yearsok....How to validate whether that object is
null
orempty
without convert to.ToString()
?? -
TBohnen.jnr about 12 yearsLike you did except that you don't call the ToString method
-
phoog about 12 years@TBohnen.jnr there is no cast to string; calling ToString is not a cast.
-
Adam Mihalcin about 12 yearsAssuming that
obj
is generated by a more complex process than simply setting it tonull
, the cast would fail in the case where that process produces a real object that isn't a string. -
Stefan H about 12 yearsCorrect, this is assuming that the object in this case would either be null or something that can be converted to a string.
-
TBohnen.jnr about 12 yearsYeah, it's awesome, just like c# :-)
-
phoog about 12 yearsbut this approach doesn't handle empty strings
-
venkat about 12 yearsVery first time i'm hearing about
null-coalescing
operator and makes exciting to know more about the new thing about this operator. Can you give some detail about the importance and benefits of this operator in the situations where i can be used the same with simple and good examples. -
venkat about 12 yearsVery first time i'm hearing about
null-coalescing
operator and makes exciting to know more about the new thing about this operator. Can you give some detail about the importance and benefits of this operator in the situations where i can be used the same with simple and good examples. -
venkat about 12 yearsIf the object is
empty
then how to validate? -
venkat about 12 yearsIf the object
obj
isempty
then how to validate? -
venkat about 12 years@TBohnen.jnr: Still i didn't find your edit or updated comment and still i'm not getting to handle if the object is
Empty
? -
TBohnen.jnr about 12 yearsAfter the bold EDIT in my answer? Do you want to check for an empty String?
-
goodeye about 9 yearsTechnically, this is assuming that the object can be cast to string, not just converted. This failed for me when obj was actually an int, with int.ToString() working, but (string)int failing. It's too bad; I was trying to avoid the extra ToString().
-
Enigmativity over 7 yearsWhere does the
.Value
property come from? -
Praveen Kumar Thalluri over 7 yearsMy bad..Updated it..Cheers mate!
-
Enigmativity over 7 yearsBTW, the OP did ask
without converting into .ToString()
.