簡體   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