string c = (b - a).TotalDays.ToString();
Statements like that are not very useful when you are not sure of what is happening. Use proper intermediate types so you can step through the code with your debugger and see the results at each stage. Something like:
TimeSpan c = b - a;
int days = c.TotalDays;
string str = days.ToString();