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

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

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

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

但是,拷貝來拷貝去顯得比較繁瑣,我們也可以使用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)論

喀喇沁旗| 来凤县| 大安市| 中方县| 罗城| 石渠县| 河东区| 清苑县| 寿阳县| 同心县| 云浮市| 公安县| 太和县| 克东县| 南木林县| 武强县| 靖江市| 左权县| 临泽县| 和硕县| 庆元县| 西充县| 临朐县| 拜城县| 临安市| 沂水县| 响水县| 日照市| 平远县| 博白县| 称多县| 商洛市| 定西市| 南开区| 湟中县| 台南市| 万载县| 沈丘县| 寿阳县| 稻城县| 修水县|