Update:
When a database returns a value through the scalar, it will always be an object
. So when the value is returned you should have a preconceived notion of what the type will be. Why would you use ToString();
when you you have a SELECT
which passes two parameters.
As if it doesn't exist it will always throw a null
. So in my refactor I believed the as
would be the proper approach. As ToString()
will throw an error --- So what form of cast
is it comparable to?
I've got some code I'm maintaining, but in apart of my refactor I came across a ToString()
attached to an ExecuteScalar
. My question would be, does the usage of ToString()
equate to:
(string)command.ExecuteScalar();
Or would it represent this:
command.ExecuteScalar() as string;
Obviously the as string
would fail gracefully, where the cast (string)
would actually fall into an InvalidCastException
. So when you call:
command.ExecuteScalar().ToString();
Which method of casting
is it attempting to do?