Check what the ASCII code of an integer value of 1 means e.g. here:Ascii Table - ASCII character codes and html, octal, hex and decimal chart conversion
Your 1 is below integer 32 (Space) which means it is unprintable.
Try e.g. with ...
int a= 65
... and see the difference.It should Show you an "A".
Btw, maybe your confusion?
You "cast" integer 1 to char and expect it will be shown as "1". But no, as you can see in the table mentioned above, the ASCII code for "1" is integer 49.
So try again with...
int a= 49
... and see the difference.It should Show you an "1".
Finally in case you need the string representation for a given integer you can do this:
int a= 1;
string myString = a.ToString();
I hope this helps.