繁体   English   中英

c#toString()性能

[英]c# toString() performance

我很好奇C#中的ToString()方法。 举个例子如下:

object height = 10;

string heightStr = height.ToString();

当我在height上调用ToString()时,我得到一个字符串类型。 运行时是否为此字符串分配内存?

是的,运行时将为您创建或请求的任何字符串对象分配内存,包括从方法调用返回的字符串对象。

但不,这绝对不是你必须担心的事情。 它不会对您的应用程序的性能产生任何明显的影响,您永远不应该过早地尝试优化代码。

Int32.ToString方法非常快。 它调用在CLR级别编写的本机代码,这在任何应用程序中不可能是性能瓶颈。


事实上,这里真正的性能问题是装箱 ,这是将值类型转换为类型object然后再返回的过程。 这将发生,因为您将height变量声明为类型object ,然后为其分配了一个整数值。

height显式声明为int类型是一个好主意,如下所示:

int height = 10;
string heightStr = height.ToString();

是。 创建类的新实例(在本例中使用字符串类)将为实例分配内存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM