最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中數(shù)組擴(kuò)容的幾種方式介紹

 更新時(shí)間:2022年08月27日 11:45:14   作者:Darren Ji  
這篇文章介紹了C#中數(shù)組擴(kuò)容的幾種方式,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

假設(shè)有一個(gè)規(guī)定長(zhǎng)度的數(shù)組,如何擴(kuò)容呢?最容易想到的是通過(guò)如下方式擴(kuò)容:

    class Program
    {
        static void Main(string[] args)
        {
            int[] arrs = new[] {1, 2, 3, 4, 5};
            arrs[5] = 6;
        }
    }

報(bào)錯(cuò):未處理IndexOutOfRanageException,索引超出了數(shù)組界限。

創(chuàng)建一個(gè)擴(kuò)容的臨時(shí)數(shù)組,然后賦值給原數(shù)組,使用循環(huán)遍歷方式

        static void Main(string[] args)
        {
            int[] arrs = new[] {1, 2, 3, 4, 5};
            int[] temp = new int[arrs.Length + 1];
            //遍歷arrs數(shù)組,把該數(shù)組的元素全部賦值給temp數(shù)組
            for (int i = 0; i < arrs.Length; i++)
            {
                temp[i] = arrs[i];
            }
            //把臨時(shí)數(shù)組賦值給原數(shù)組,這時(shí)原數(shù)組已經(jīng)擴(kuò)容
            arrs = temp;
            //給擴(kuò)容后原數(shù)組的最后一個(gè)位置賦值
            arrs[arrs.Length - 1] = 6;
            foreach (var item in arrs)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

創(chuàng)建一個(gè)擴(kuò)容的臨時(shí)數(shù)組,然后賦值給原數(shù)組,使用Array的靜態(tài)方法

像這種平常的數(shù)組間的拷貝,Array類肯定為我們準(zhǔn)備了靜態(tài)方法:Array.Copy()。

        static void Main(string[] args)
        {
            int[] arrs = new[] {1, 2, 3, 4, 5};
            int[] temp = new int[arrs.Length + 1];
            Array.Copy(arrs, temp, arrs.Length);
            //把臨時(shí)數(shù)組賦值給原數(shù)組,這時(shí)原數(shù)組已經(jīng)擴(kuò)容
            arrs = temp;
            //給擴(kuò)容后原數(shù)組的最后一個(gè)位置賦值
            arrs[arrs.Length - 1] = 6;
            foreach (var item in arrs)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

使用Array的靜態(tài)方法擴(kuò)容

但是,拷貝來(lái)拷貝去顯得比較繁瑣,我們也可以使用Array.Resize()方法給數(shù)組擴(kuò)容。

        static void Main(string[] args)
        {
            int[] arrs = new[] {1, 2, 3, 4, 5};
            Array.Resize(ref arrs, arrs.Length + 1);
            //給擴(kuò)容后原數(shù)組的最后一個(gè)位置賦值
            arrs[arrs.Length - 1] = 6;
            foreach (var item in arrs)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

總結(jié):數(shù)組擴(kuò)容優(yōu)先考慮使用Array的靜態(tài)方法Resize,其次考慮把一個(gè)擴(kuò)容的、臨時(shí)的數(shù)組賦值給原數(shù)組。

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論

宜兰县| 巴彦县| 哈尔滨市| 榆中县| 山东省| 莲花县| 周口市| 阳春市| 新营市| 玛曲县| 策勒县| 威远县| 乌鲁木齐市| 朝阳县| 宁武县| 新源县| 仲巴县| 台前县| 娄底市| 普宁市| 剑川县| 岳池县| 新绛县| 科技| 彩票| 盐源县| 诸暨市| 江阴市| 都江堰市| 曲阜市| 内黄县| 神池县| 崇左市| 濮阳县| 府谷县| 阆中市| 英超| 福鼎市| 勃利县| 东安县| 阿城市|