2011-09-07 28 views
4

假設我有一個循環,將與1000萬個元素,填充int,轉換爲string數組。我應該使用Convert.ToString(...)還是Object.ToString()?在這種情況下,確實是這樣,Convert.ToString(...)將元素拆箱並降低性能?性能的Convert.ToString(...)或Object.ToString()

+3

如果它們在'ArrayList'中,則它們已經被裝箱。 – Lee

+0

分析器結果說明了什麼? –

+0

是的,但有趣的是Object.ToString()是一個虛擬的方法,將被解析爲int.ToString(),所以沒有拆箱。但我不確定Convert.ToString()會發生什麼 – DeveloperInToronto

回答

10

如果你有一個ArrayList,任何值類型已經被裝箱。你爲什麼使用ArrayList而不是List<int>?後者將避免拳擊的執行時間成本和重大的空間影響。

然而,更改爲使用List<int>後,我只需撥打ToString即可。它確切地說明了你想要以比Convert.ToString,IMO更簡單的方式來完成...並提供更多的格式選項。

+1

的行爲是的,我總是使用列表。使用ArrayList將是瘋狂的!對於這個特定的例子,我只是想了解ToString()和Convert.ToString(...)的行爲。 – DeveloperInToronto

相關問題