[英]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.