济南网站建设多少费用,网站手机app开发,网站建设若干意见,农安县建设局网站目录
1.使用动态数组#xff08;ArrayList#xff09;#xff1a;
2.使用 jagged array#xff08;不规则数组#xff09;#xff1a;
3.使用 List #xff1a;
4.使用数组复制#xff1a; 在C#中#xff0c;数组的长度是固定的#xff0c;一旦声明和初始化…目录
1.使用动态数组ArrayList
2.使用 jagged array不规则数组
3.使用 List
4.使用数组复制 在C#中数组的长度是固定的一旦声明和初始化就不能更改。但是您可以使用其他集合类型例如ArrayList或ListT这些类型可以动态调整大小以添加或删除元素。
1.使用动态数组ArrayList 动态数组是一种可以在运行时改变大小的数组。当你需要添加或删除元素时它会自动调整自身的大小。
// 使用 ArrayList 可以动态调整数组的大小。
using System.Collections;namespace _106_8
{class Program{static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);// 初始化 ArrayListArrayList arrayList [new int[] { 1, 2 },new int[] { 3, 4, 5 },new int[] { 6, 7, 8, 9 },];// 打印原始数组Console.WriteLine(原始数组);PrintArray(arrayList);// 添加新行Console.WriteLine();// 动态调整数组大小arrayList.Capacity 5;// 初始化新数组arrayList.Add(new int[] { 10, 11 });arrayList.Add(new int[] { 12, 13, 14 });// 打印调整大小后的数组Console.WriteLine(调整大小后的数组);PrintArray(arrayList);}static void PrintArray(ArrayList array){foreach (var row in array){Console.Write([ string.Join(, , (int[])row) ]);Console.WriteLine();}}}
}
//运行结果
/*
原始数组
[1, 2]
[3, 4, 5]
[6, 7, 8, 9]调整大小后的数组
[1, 2]
[3, 4, 5]
[6, 7, 8, 9]
[10, 11]
[12, 13, 14]*/
2.使用 jagged array不规则数组 jagged array 是一种数组的数组它可以用来模拟可变大小的数组。jaggedArray 的大小是可变的你可以根据需要改变它。 首先创建了一个 jagged array并初始化了一些数据。然后使用 ResizeArray 函数将 jaggedArray 的大小调整为 5然后添加了一些新的数据。最后使用 PrintArray 函数打印了调整大小后的数组。 注意这种方法并不会真正改变 jagged array 中每个子数组的大小而是通过创建一个新的 jagged array 来实现动态调整大小的效果。如果你需要在运行时真正地改变数组的大小可以考虑使用其他数据结构如动态数组ArrayList。
// 使用 jagged array不规则数组
// 可以实现动态调整数组大小的效果
namespace _106_7
{class Program{static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);// 初始化 jaggedArrayint[][] jaggedArray [[1, 2],[3, 4, 5],[6, 7, 8, 9],];// 打印原始数组Console.WriteLine(原始数组);PrintArray(jaggedArray);// 添加新行Console.WriteLine();// 动态调整数组大小jaggedArray ResizeArray(jaggedArray, 5);// 初始化新数组jaggedArray[3] [10, 11];jaggedArray[4] [12, 13, 14];// 打印调整大小后的数组Console.WriteLine(调整大小后的数组);PrintArray(jaggedArray);}static int[][] ResizeArray(int[][] jaggedArray, int newSize){int[][] newArray new int[newSize][];Array.Copy(jaggedArray, newArray, Math.Min(jaggedArray.Length, newSize));return newArray;}static void PrintArray(int[][] array){foreach (var row in array){Console.Write([ string.Join(, , row) ]);Console.WriteLine();}}}
}
//运行结果
/*
原始数组
[1, 2]
[3, 4, 5]
[6, 7, 8, 9]调整大小后的数组
[1, 2]
[3, 4, 5]
[6, 7, 8, 9]
[10, 11]
[12, 13, 14]*/
3.使用 ListT 使用 ListT 也可以动态调整数组的大小。 首先创建了一个 Listint[]并初始化了一些数据。然后使用 Capacity 属性将 Listint[] 的大小调整为 5然后添加了一些新的数据。最后我们使用 PrintArray 函数打印了调整大小后的数组。 注意这种方法会真正地改变 Listint[] 中每个子数组的大小因为它会动态地分配和释放内存。但是由于 Listint[] 是基于对象的所以它比数组更慢如果你需要更高的性能可以考虑使用其他数据结构如数组。
// 使用 ListT 也可以动态调整数组的大小namespace _106_9
{class Program{static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);// 初始化 Listint[]Listint[] list [[1, 2],[3, 4, 5],[6, 7, 8, 9],];// 打印原始数组Console.WriteLine(原始数组);PrintArray(list);// 添加新行Console.WriteLine();// 动态调整数组大小list.Capacity 5;// 初始化新数组list.Add([10, 11]);list.Add([12, 13, 14]);// 打印调整大小后的数组Console.WriteLine(调整大小后的数组);PrintArray(list);}static void PrintArray(Listint[] list){foreach (var row in list){Console.Write([ string.Join(, , row) ]);Console.WriteLine();}}}
}
//运行结果
/*
原始数组
[1, 2]
[3, 4, 5]
[6, 7, 8, 9]调整大小后的数组
[1, 2]
[3, 4, 5]
[6, 7, 8, 9]
[10, 11]
[12, 13, 14]*/
4.使用数组复制 创建一个新的数组将旧数组的元素复制到新数组中然后释放旧数组。这是一种比较低效的方法但在某些情况下可能会有用。
// 复制旧数组并增加数组长度
namespace _106_7
{class Program{static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);int[] oldArray new int[10];//... 初始化 oldArrayint[] newArray new int[oldArray.Length * 2];Array.Copy(oldArray, newArray, oldArray.Length);int newlength newArray.Length;Console.WriteLine(新数组长度 {0}, newlength);}}
}
//运行结果
/*
新数组长度 20*/