欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

創(chuàng)建一個擴容的臨時數(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ù)組已經(jīng)擴容
            arrs = temp;
            //給擴容后原數(shù)組的最后一個位置賦值
            arrs[arrs.Length - 1] = 6;
            foreach (var item in arrs)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

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

像這種平常的數(shù)組間的拷貝,Array類肯定為我們準備了靜態(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ù)組已經(jīng)擴容
            arrs = temp;
            //給擴容后原數(shù)組的最后一個位置賦值
            arrs[arrs.Length - 1] = 6;
            foreach (var item in arrs)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

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

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

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

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

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

相關文章

  • C#實現(xiàn)將網(wǎng)頁保存成圖片的網(wǎng)頁拍照功能

    C#實現(xiàn)將網(wǎng)頁保存成圖片的網(wǎng)頁拍照功能

    這篇文章主要介紹了C#實現(xiàn)將網(wǎng)頁保存成圖片的網(wǎng)頁拍照功能,很實用的一個功能,需要的朋友可以參考下
    2014-07-07
  • c# Newtonsoft 六個值得使用的特性(上)

    c# Newtonsoft 六個值得使用的特性(上)

    這篇文章主要介紹了c# Newtonsoft 六個值得使用的特性,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-06-06
  • Windows中使用C#為文件夾和文件編寫密碼鎖的示例分享

    Windows中使用C#為文件夾和文件編寫密碼鎖的示例分享

    這篇文章主要介紹了Windows中使用C#為文件夾和文件編寫密碼鎖的示例分享,特別是文件鎖可以針對各種類型的文件輸入密碼進行加密解密,非常實用,需要的朋友可以參考下
    2016-03-03
  • C#中的IDisposable模式用法詳解

    C#中的IDisposable模式用法詳解

    這篇文章主要介紹了C#中的IDisposable模式用法,講述了垃圾資源回收機制的實現(xiàn),并對比分析了Dispose()方法、~DisposableClass()析構函數(shù)、虛方法Dispose(bool disposing)的原理,需要的朋友可以參考下
    2014-09-09
  • C#預處理指令之#line,#pragma warning 詳細解析

    C#預處理指令之#line,#pragma warning 詳細解析

    #line 指令可能由生成過程中的自動中間步驟使用。例如,如果行從原始的源代碼文件中移除,但是您仍希望編譯器基于文件中的原始行號生成輸出,則可以移除行,然后用 #line 模擬原始行號
    2014-01-01
  • C# .NET創(chuàng)建虛擬目錄的方法詳解

    C# .NET創(chuàng)建虛擬目錄的方法詳解

    虛擬目錄(virtual directory),計算機術語,每個 Internet服務可以從多個目錄中發(fā)布。本文將為大家介紹如何通過C# asp.net mvc 創(chuàng)建虛擬目錄,感興趣的可以了解一下
    2022-01-01
  • C#中DataTable 轉換為 Json的方法匯總(三種方法)

    C#中DataTable 轉換為 Json的方法匯總(三種方法)

    JavaScript Object Notation (Json)是一種輕量級的數(shù)據(jù)交換格式,下面小編給大家介紹三種方法實現(xiàn)DataTable轉換成 Json 對象,感興趣的朋友一起看看吧
    2016-11-11
  • C# 泛型深入理解介紹

    C# 泛型深入理解介紹

    在上一個專題中介紹了C#2.0 中引入泛型的原因以及有了泛型后所帶來的好處,然而上一專題相當于是介紹了泛型的一些基本知識的,對于泛型的性能為什么會比非泛型的性能高卻沒有給出理由,所以在這個專題就中將會介紹原因和一些關于泛型的其他知識
    2012-11-11
  • C#?Sqlite數(shù)據(jù)庫的搭建及使用技巧

    C#?Sqlite數(shù)據(jù)庫的搭建及使用技巧

    這篇文章主要介紹了C#?Sqlite數(shù)據(jù)庫的搭建及使用技巧,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • c#反射表達式樹模糊搜索示例

    c#反射表達式樹模糊搜索示例

    這篇文章主要介紹了c#反射表達式樹模糊搜索示例,反射實體T,非datetime字段反射獲取表達式樹,需要的朋友可以參考下
    2014-02-02

最新評論