title: Is boxing implicitly done when calling a method on a value type in C#?
body: <p>Let's say I do something like this:</p>
  
  <pre><code>int x = 5;
  String s = x.ToString();
  </code></pre>
  
  <p>Coming from Java, I would be led to think that an autoboxing is being done on the int value to make it behave like an object and call methods on it. But I've heard that in C# everything is an object, and there's no thing such as the Java "Integer" type. So, is the variable being boxed to Object instead? Or can methods be called directly from C# value types? How?</p>
  
  <p>Is the C# int just a 32-bit space like in Java/C, or is it something more? Thank you in advance for clearing my doubts.</p>