C# - Fix issue with default .net char

Following a tweet from https://github.com/glacasa, I've changed the IsValid() implementation to support strings that contains default char value.

I've also added a unit test for this (platform-)specific case.