The Smart Conversion library allows you to convert any datatype to another data type, without risking type conversion exceptions.
Heuristics are used to convert values from one type to another.
Examples:
string s1 = "25"; string s2 = "0"; string s3 = ""; string s4 = null; string s5 = "a"; int a = s1.To<int>(); // returns 25 int b = s2.To<int>(); // returns 0 int c = s3.To<int>(); // returns 0 int d = s4.To<int>(); // returns 0 int e = s5.To<int>(); // returns 0 int? e = s1.To<int?>(); // returns 25 int? f = s2.To<int?>(); // returns 0 int? g = s3.To<int?>(); // returns null int? h = s4.To<int?>(); // returns null int? i = s5.To<int?>(); // returns null
As you can see, when a conversion makes sense, the value is converted. If not, it returns the default value of the target type (for a nullable value type, the default value is null)