2014-12-06 45 views
1

我已經閱讀了不少關於+,stringbuilderappend和concat的文章。但是,如果我只有一個單一的連接來做什麼是最好的選擇?何時使用字符串concat

  1. STR1 + STR2
  2. 使用字符串生成器
  3. 使用字符串連接

我要找的解釋時,並僅2串都參與其中。

另外,當涉及2個字符串時,字符串concat O(n)的複雜性,其中n是最長字符串的長度?

回答

1

如果您只是在進行單個級聯,請使用str1 + str2。這很容易閱讀,並且會被編譯器翻譯爲字符串concat,如果你沒有經過循環或其他東西,這很好。實際上,如果你只打算一次連接字符串,它比使用StringBuilder快。

請參閱http://blog.codinghorror.com/the-sad-tragedy-of-micro-optimization-theater/瞭解爲什麼如果不循環,請不要打擾使用字符串生成器。

另外,當涉及2個字符串是字符串concat O(n)的複雜性,其中n是最長字符串的長度?

你可以這麼說。我會說這是O(n)其中n是兩個字符串的組合長度,但由於最短的字符串不能按照定義,比最長的字符串大一個數量級,所以它們都是相同的。