C#Array.Resize什么意思、
时间: 2023-11-28 21:49:40 浏览: 109
C# 中的 `Array.Resize` 方法用于调整数组的大小。它会更改数组的长度,并且可以增加或减少元素的数量。如果新的长度大于原来的长度,那么新元素将被初始化为默认值;如果新的长度小于原来的长度,那么数组中多余的元素将被删除。
下面是 `Array.Resize` 方法的语法:
```csharp
public static void Resize<T>(ref T[] array, int newSize);
```
其中,`array` 是要调整大小的数组,`newSize` 是新的数组大小。注意,`array` 参数是一个 `ref` 引用类型,因为 `Resize` 方法将修改传递给它的数组。
以下是调整数组大小的示例:
```csharp
int[] myArray = new int[] { 1, 2, 3, 4, 5 };
Array.Resize(ref myArray, 8);
// myArray 现在的长度为 8,新元素为默认值(0)
string[] stringArray = new string[] { "one", "two", "three" };
Array.Resize(ref stringArray, 2);
// stringArray 现在的长度为 2,多余的元素 "three" 被删除
```
相关问题
C#数组里面如何添加数组代码
在 C# 中,可以使用数组的 `Array.Resize` 方法来添加元素。该方法可以将现有数组的大小调整为指定大小,并将原有元素复制到新数组中。以下是一个示例代码:
```
int[] arr = {1, 2, 3};
Array.Resize(ref arr, arr.Length + 1);
arr[arr.Length - 1] = 4;
```
在上面的示例中,我们首先定义了一个整型数组 `arr`,它包含三个元素。然后,我们使用 `Array.Resize` 方法将数组大小增加 1,以便添加一个新元素。最后,我们将新元素的值设置为 4,并将其存储在数组的最后一个位置上。
请注意,使用 `Array.Resize` 方法来添加元素可能会导致性能问题,因为每次调整数组大小都会导致内存重新分配和元素复制。因此,如果需要频繁地添加或删除元素,建议使用集合类,例如 `List<T>`。
C#中设置Length属性
在 C# 中,可以使用 Length 属性来获取或设置数组的长度。具体实现方式如下:
```csharp
int[] numbers = new int[5];
Console.WriteLine(numbers.Length); // 输出 5
Array.Resize(ref numbers, 10);
Console.WriteLine(numbers.Length); // 输出 10
```
在这个例子中,我们首先创建了一个长度为 5 的 int 数组 numbers,并使用 Length 属性输出了它的长度。然后我们使用 Array.Resize 方法来扩展数组的长度为 10,并再次使用 Length 属性输出了它的长度。
需要注意的是,Array.Resize 方法会自动将原数组的元素复制到新数组中,并将多余的元素填充为默认值。如果新数组的长度小于原数组的长度,则会截断原数组。例如:
```csharp
int[] numbers = new int[5]{1, 2, 3, 4, 5};
Console.WriteLine(numbers.Length); // 输出 5
Console.WriteLine(string.Join(",", numbers)); // 输出 "1,2,3,4,5"
Array.Resize(ref numbers, 3);
Console.WriteLine(numbers.Length); // 输出 3
Console.WriteLine(string.Join(",", numbers)); // 输出 "1,2,3"
```
在这个例子中,我们首先创建了一个长度为 5 的 int 数组 numbers,并使用 Length 属性输出了它的长度和元素。然后我们使用 Array.Resize 方法将数组的长度设置为 3,此时数组被截断,只保留前三个元素,后面的元素被自动清空。最后我们再次使用 Length 属性输出了它的长度和元素。