1 回答

TA貢獻1893條經驗 獲得超10個贊
當我查看源代碼時,我看到了這個:
i + "" = String.Concat(object)哪個叫聲 還有一個.所以它更慢。obj.ToString()String.Concat(object)
1st way) 使用 Console.WriteLine,它很簡單:
public static void WriteLine(String value)
{
Out.WriteLine(value);
}
https://referencesource.microsoft.com/#mscorlib/system/console.cs,5ac7c4fda643413b
在內部,它創建 1 個值為 ' \r\n' 的緩沖區,并且只調用一次。.Write(char[], int, int)
第二種方式)當你用int調用它時,它是不同的。
public virtual void WriteLine(int value) {
Write(value);
WriteLine();
}
https://referencesource.microsoft.com/#mscorlib/system/console.cs,82d5745bf4a5ecc6
這樣它就會調用兩次。這可能是那種放緩,但我不能確定。它只是提示,問題可能在哪里。Write(char[], int, int)
編輯:
此外,第二種方式,它調用以獲取數字的字符串表示形式,這是另一個開銷,可以稍微減慢它的速度,因為它每次都可以獲取該提供程序的實例。https://referencesource.microsoft.com/#mscorlib/system/globalization/numberformatinfo.cs,9c4284b5db21c23aint.ToString(IFormatProvider)
- 1 回答
- 0 關注
- 174 瀏覽
添加回答
舉報