Write Better Code; Using Nullable With C#

I'm sure if you have ever written code for more than 45 seconds, you have more than likely come across a need to check whether or not a variable has been assigned a value. This is probably how about 99% of us do it: The above code is bad for three reasons:
  1. The code is error prone. Why do things on your own, when the language provides a simple consistent way of doing things?
  2. The code isn't standardized. What if you assign 0 as the official "un-assigned" check for all of your strings, but Johnny Programmer (in his super awesome wisdom) decides to initialize all of his un-assigned integers with -1, then what? Now you are forced to add unnecessary rules to your coding standards to ensure yours and Johnny's code plays together nicely. This is lame.
  3. The code isn't optimized. The fewest amount of bits to compare per if statement the better. why compare multiple Bytes when you can compare a simple boolean? This can end up costing you precious milliseconds.
What...? What's that you ask? What is a better way to check to see if a variable has been assigned a value? I thought you'd never ask! The super awesome way that will win you the respect of your co-workers, and maybe, the girl of your dreams (but probably not): The better code makes use of Nullable. This provides a consistent and error-free way to check to see if your variables have been assigned a value. This is a very easy way to improve the overall quality of your code, and, who doesn't want that?
Creative Commons License

What do you think?