Почему VB.Net преобразует этот кодVB.Net к C# преобразования оператора '+'
Sub Main()
Dim str As String = ""
Dim lNumber As Integer = 0
str = "String " + lNumber
Console.WriteLine(str)
End Sub
в
public static void Main()
{
int lNumber = 0;
Console.WriteLine(Conversions.ToString((double) (Conversions.ToDouble("String ") + lNumber)));
}
Вместо того чтобы просто
public static void Main()
{
int lNumber = 0;
Console.WriteLine("String " + lNumber);
}
Я спрашиваю об этом как в C#
Когда один или оба операнда имеют тип строки, + присоединяет строковые представления операндов
Как вы преобразования это? Я просто использовал этот http://www.developerfusion.com/tools/convert/vb-to-csharp/?batchId=01dcb8e4-3e6d-4d89-ae01-817dc388e243. и он генерирует тот же результат, что и вы. – Sachin
Просто потому, что 'operator +' не имеет одинаковой семантики на обоих языках. – Jon
@Sachin Я разбираю код с использованием рефлектора Net Gate .Net – user961954