I just ran accross some code like this:
bool b = bool.TryParse(ConfigurationManager.AppSettings["SomeSetting"].ToString(), out b);
ignore the fact that I'm not checking for null on the appsettings.
At first sight I thought it was a bug, but then read the documentation, ran a little test and some investigation with Reflector, it turns out it does exacly what we needed to do
bool.TryParse doesn't return the value of converting the string passed to it; it returns true or false, indicating if the conversion succeeded, the value of the conversion is returned in the out parameter (which in this case was the same variable) so the only way to return true in that case is
- The conversion succeeded
- the value was true
so I don't need to say
if (bool.TryParse(someVariable, out b))
if (b)...
...little dangerous lines of code
1 comment:
Pretty dangerous indeed :-)
Post a Comment