Because the conversion coefficient of both data types is different. the parameter assigned by the string value will be different from both data types.
Int.TryParse does not contain a parameter specific to thousands of thousands of delimiters in the form of a conversion parameter
eg
in Int.TryParse parameter form
[ws][sign]digits[ws]
ws: White space (optional)
sign: An optional Sign (+-)
digit: sequance of digit (0-9)
and in Decimal.TryParse the parameter form
[ws][sign][digits,]digits[.fractional-digits][ws]
ws: White space (optional)
sign: An optional Sign (+-)
digit: sequance of digit (0-9)
,: culture specific thousand separator
.: culture specific decimal point.
fractional-digits: fractional digit after decimal point.
msdn. Int.TryParse Decimal.TryParse
user3391751