In reference to using .Equals() or == on strings, here is a question in regards to checking for string.Empty and null objects.
In comparing string.Empty and null objects, should I use == or should I use .Equals()?
// Add vars to instance variables
for (int i = 0; i < paramFirstList.Count; i++)
{
// if the key is null, replace it
// with a "null" string
if (paramFirstList[i] == null)
{
_firstList.Add("null");
}
else if (paramFirstList[i] == string.Empty)
{
_firstList.Add("empty");
}
else
{
// Do something
}
}
P.S. I understand it's better to store null and string.Empty as their object types, but for this particular purpose, it is in my requirements to store them as a string representation :).
P.P.S. Added hungarian notation for the sake of question clarity
You should always favor == over Equals. The latter is a method of the base Object type which in this case will do useless casting.
If you mean to check whether a string value is null or empty, use String.IsNullOrEmpty method. If, instead, you need to act differently if it's one or the other, then do this:
if (value == null)
{
//do stuff
}
else if (value == string.Empty)
{
// do other stuff
}
EDIT:
As pointed out in the comments there is an overloaded Equals method on a string that receives a string parameter. Still, I think you should take the habit of using ==. It just reads better IMHO.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With