StringBuilder.ToString()的复杂度是多少?

本文关键字:多少 复杂度 ToString StringBuilder | 更新日期: 2023-09-27 18:08:47

c#中StringBuilder.ToString()的复杂度是多少?是O(1) O(N)还是别的?

StringBuilder.ToString()的复杂度是多少?

不同的框架版本;在旧版本中,StringBuilder直接在string上工作,因此在.ToString()中没有额外的成本:它只是直接将数据交给您(这可能意味着过大,但它使其工作);所以O (1) .

在较新的框架版本中,它使用char[]后备缓冲区,所以现在当你.ToString()时,它可能需要复制2个Length字节,使其为O(N)。