附加到 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