C#, does type conversion improve in next version?
<p>People generally agree that C# and VB.net are more or less the exact same thing. But if you've developed in both, you'll notice that VB.net is a lot more forgiving when it comes to type conversion. </p>

<p>For example take this</p>

<pre><code>int someInt = 5; 
string someString = "12345"; 
someString.Replace(someInt, "");
</code></pre>

<p>The above code will fail, but will work if replaced with:</p>

<pre><code>int someInt = 5; 
string someString = "12345"; 
someString.Replace(Convert.ToString(someInt), "");
</code></pre>

<p><strong>Update</strong></p>

<p>Better example:</p>

<pre><code>Dim i As Integer = 1
Dim j As String = "1"
If i = j Then
    MessageBox.Show("Bad comparison")
End If
</code></pre>

<p>VB.net is much more forgiving and does not require you to type cast all over the place. </p>

<p>So my question is: Is this explicit type casting going to still be required in future versions of C#, or will the compiler automatically be able to determine what types are required. And, does this mean VB.net is more advanced (because it already does this type conversion for you naturally), or does this mean VB.net is more prone to erroneous code or uses objects all over the place, behind the scenes?</p>

<p>Thanks in advance...</p>
