附加到 C# 中的陣列

Muhammad Maisam Abbas 2023年1月30日 2021年4月29日
  1. 在 C# 中使用列表調整陣列大小
  2. 在 C# 中使用 Array.Resize() 方法調整陣列的大小
附加到 C# 中的陣列

本教程將介紹在 C# 中將元素追加到陣列的方法。

在 C# 中使用列表調整陣列大小

不幸的是,預設情況下,我們無法動態更改陣列的大小。如果我們有一個陣列,並想將更多值附加到同一陣列中,則必須依靠一些使用者定義的方法來調整陣列的大小。我們可以通過使用 C# 中的 ToList() 函式首先將陣列轉換為列表來調整陣列的大小。然後,我們可以使用 List.Add() 函式向列表中新增更多值,並使用 C# 中的 ToArray() 函式將列表轉換回陣列。下面的程式碼示例向我們展示瞭如何使用 C# 中的列表來調整陣列的大小。

using System;
using System.Collections.Generic;
using System.Linq;

namespace Resize_Array
{
    class Program
    {
        static void method1()
        {
            string[] arr = new string[] { "Hi" };
            List<string> ls = arr.ToList();
            ls.Add("Hello");
            ls.Add("World");
            arr = ls.ToArray();
            foreach (var e in arr)
            {
                Console.WriteLine(e);

            }

        }
        static void Main(string[] args)
        {
            method1();
        }
    }
}

輸出:

Hi
Hello
World

我們使用 arr.ToList() 函式將陣列 arr 轉換為列表 ls。我們在 ls 中新增了新元素,並使用 C# 中的 ls.ToArray() 函式將其轉換回陣列。

在 C# 中使用 Array.Resize() 方法調整陣列的大小

我們還可以使用 Array.Resize() 方法在 C# 中實現相同的目標。Array.Resize() 方法將指向陣列的指標作為引數,並將該陣列的大小更改為指定的數字。以下程式碼示例向我們展示瞭如何使用 C# 中的 Array.Resize() 函式調整陣列的大小。

using System;
using System.Collections.Generic;

namespace Resize_Array
{
    class Program
    {
        static void method2()
        {
            string[] arr = new string[] { "Hi" };

            Array.Resize(ref arr, 3);
            arr[1] = "Hello";
            arr[2] = "World";
            foreach (var e in arr)
            {
                Console.WriteLine(e);

            }

        }
        static void Main(string[] args)
        {
            method2();
        }
    }
}

輸出:

Hi
Hello
World

我們使用 C# 中的 Array.Resize() 方法調整了陣列 arr 的大小。我們在 Array.Resize() 方法的引數中傳遞了對 arr 的引用和 arr 的所需大小。我們向 arr 陣列中新增了新元素,並向使用者顯示了該陣列。

上面討論的兩種方法都可以用於將元素附加到陣列。但是對於動態記憶體分配,應使用列表資料結構代替陣列資料結構。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相關文章 - Csharp Array