<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 談談: String 和StringBuilder區別和選擇 對于string 和stringbuilder相信大家經常會使用到, 但是相信它們的區別和如何選擇對于初學者還是會有不清楚的,下面我來分享下我的理解, 如果什么不對的地方希望大家指出來。 ## (一)String 和StringBuilder區別 1\. 構造字符串 在C#中, 不能使用new 操作符從一個文本常量字符串構造一個String 對象,因為String 類中沒有提供接受字符串的參數的構造函數。 ``` string str = " Hello World"; // 對的 string str2 = new string("Hello");//錯誤。 ``` 這時候通過ldstr(Load string)指令來創建一個String 對象的, 而不是用newobj創建對象實例的。 2\. String 對象是不可變的, 具體指字符串一旦創建了, 就不能更改、不能變長或變短。 主要是因為 String 中的索引器是只讀的, 因為String是不可變的,這就使得在操作或訪問一個字符串時不會發生線程同步問題。 String類中索引器定義: 有些朋友對于String 不可變 有一些誤解, 可能因為下面的例子: 有些朋友可能認為String對象str被修改了, 其實并不是這樣的,String對象str已經重新指向了一個新的字符串常量:“Hello”, 而不是在原來字符串上修改, 這時候因為"Hello World"因為沒有引用了,所以會認為是垃圾,會被垃圾回收。 String 字符串中還有一個 字符串留用(string interning)技術, 在這里我就不介紹了,想了解的朋友可以查看[Artech 博客中的字符串駐留](http://www.cnblogs.com/artech/archive/2007/03/04/663728.aspx)這篇文章。 3\. 而StringBuilder是可變的, 可利用它高效地對字符串和字符進行動態處理。可以通過Append和Insert方法等方法來更改字符數組的內容,而不會造成在托管堆上分配新對象。 ## (二)什么時候用String, 而什么時候用該用StringBuilder 有些人可能會認為既然這樣, 那是不是不需要String類型的? 只要我們在所有需要用String的地方都用StringBuilder代替就可以了, 答案肯定是否定的, 我個人理解是:當要對字符串進行頻繁的操作的時候,在 String 和 StringBuilder 之間,我們應該選擇 StringBuilder, 對于一般的操作操作還是使用String類型,因為stringbuilder功能強大,這意味著其底層實現更復雜,一些簡單的功能用string當然更簡潔、甚至比用Stringbuilder更高效率。 如果需要轉載的朋友請注明出處。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看