<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          C#10在List, Queue 以及Stack中使用EnsureCapacity方法來(lái)提升性能

          共 1362字,需瀏覽 3分鐘

           ·

          2021-08-30 11:19

          簡(jiǎn)介

          在今天的文章中,我們將介紹 C# 10 中引入的一項(xiàng)新功能。這是已添加到 List、Queue 和 Stack 集合中的 EnsureCapacity 方法。我們將討論為什么我們應(yīng)該使用這個(gè)方法以及何時(shí)使用它。

          那么,讓我們開(kāi)始吧。

          作者:依樂(lè)祝

          譯文鏈接:https://www.cnblogs.com/yilezhu/p/15182566.html

          原文鏈接:https://www.c-sharpcorner.com/article/using-the-ensurecapacity-method-in-c-sharp-lists-queues-and-stacks/

          為什么以及何時(shí)使用EnsureCapacity 方法

          這里我們將首先了解為什么需要使用這種方法以及何時(shí)使用。在 List、Queue 和 Stack內(nèi)部使用的是數(shù)組來(lái)表示集合。每次我們向這些集合添加更多項(xiàng)時(shí),我們都需要增加這個(gè)內(nèi)部數(shù)組的大小。因此,會(huì)發(fā)生調(diào)整大小的操作。由于數(shù)組大小進(jìn)行了調(diào)整,因此這是一個(gè)性能損失。在我們知道此數(shù)組的最大大小或假設(shè)我們知道將存儲(chǔ)在我們的 List、Queue 或 Stack 集合中的最大元素?cái)?shù)量的情況下,我們可以使用EnsureCapacity 方法預(yù)設(shè)大小。這將確保最初設(shè)置此大小,并且不會(huì)調(diào)整內(nèi)部數(shù)組的大小,因此我們獲得了性能提升。讓我們?cè)跍y(cè)試應(yīng)用程序中實(shí)現(xiàn)它,

          創(chuàng)建一個(gè)控制臺(tái)應(yīng)用程序來(lái)測(cè)試EnsureCapacity 方法

          我們將首先在 Visual Studio 2022 社區(qū)版中創(chuàng)建一個(gè) C# 控制臺(tái)應(yīng)用程序,如下所示,


          在 Cshaarp 列表、隊(duì)列和堆棧中使用確保容量方法



          在 Cshaarp 列表、隊(duì)列和堆棧中使用確保容量方法



          在 Cshaarp 列表、隊(duì)列和堆棧中使用確保容量方法



          在 Cshaarp 列表、隊(duì)列和堆棧中使用確保容量方法



          在 Cshaarp 列表、隊(duì)列和堆棧中使用確保容量方法


          用下面的代碼替換 Program.cs 文件,

          var list=new List<int>();list.EnsureCapacity(5);for(vari=0;i<5;i++){    list.Add(i);    Console.WriteLine(list[i]);}thisList.Add(5);Console.WriteLine(list[5]);

          當(dāng)我們運(yùn)行此代碼時(shí),我們會(huì)看到以下輸出。


          在 Cshaarp 列表、隊(duì)列和堆棧中使用確保容量方法


          因此,我們看到即使超出了 EnsureCapacity 方法中定義的容量,我們?nèi)匀豢梢岳^續(xù)向列表中添加元素。然而,此時(shí),內(nèi)部數(shù)組又重新調(diào)整大小,我們失去了性能增益。這表明我們?cè)谠O(shè)置EnsureCapacity 值時(shí)必須非常小心。

          總結(jié)

          在本文中,我們研究了在C#10中對(duì)List集合使用EnsureCapacity方法,討論了使用此方法的優(yōu)點(diǎn)以及何時(shí)應(yīng)該使用它。這同樣適用于隊(duì)列和堆棧集合。祝編碼快樂(lè)!

          瀏覽 81
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  三级视频无码在线观看 | 成人十八禁网站 | 四虎黄色| 亚洲天堂日韩国 | 久久日成人电影 |