调用ToString()防止装箱

问题描述 投票:11回答:1

带有以下代码段:

public static void Main()
{
    int v = 2;
    Console.WriteLine("number" + "," + v);
}

显然,在对v的调用中,最好将v.ToString()替换为WriteLine()以防止将值类型装箱。但是,调用ToString()仍然会在堆上分配一个对象,就像对值类型进行装箱一样。

那么使用v.ToString()而不是将其装箱有什么好处?

更新:看起来,在将值传递给int.ToString()之前(无论是否自己显式调用string.Concat())之前,都已调用[C​​0]:int.ToString()

c# boxing
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.