Replace deprecated calls with TryGetNumber
use ToString to encapsulate the behavior of providing "?" for an invalid digit.
follow .NET naming guidelines and formatting