C#定义一个不定长数组
时间: 2024-09-03 13:03:22 浏览: 105
C#中定义一个不定长数组,通常会使用数组的动态调整大小的能力,或者使用集合类(如List<T>)来实现类似不定长数组的功能。以下是具体的介绍:
1. 使用数组动态调整大小
C#数组在创建时大小就固定了,但如果想实现类似不定长数组的功能,可以通过创建一个新的更大的数组,并将旧数组的内容复制到新数组中来实现数组的动态调整。这种方法效率不高,因为每次调整大小都可能涉及到内存分配和数据复制。
2. 使用List<T>类
C#提供了泛型集合类List<T>,它是基于数组实现的,但提供了动态调整大小的能力,使用起来更加方便。当你添加元素时,如果达到了当前数组的容量,List<T>会自动创建一个新的更大的数组,并将旧数组的数据复制过去。
以下是使用List<T>来实现不定长数组功能的代码示例:
```csharp
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// 创建一个List<int>实例来作为不定长数组
List<int> dynamicArray = new List<int>();
// 添加元素
dynamicArray.Add(1);
dynamicArray.Add(2);
dynamicArray.Add(3);
// 输出当前List的大小和内容
Console.WriteLine("当前List的大小:" + dynamicArray.Count);
Console.WriteLine("List的内容:");
foreach (int item in dynamicArray)
{
Console.WriteLine(item);
}
// 继续添加元素
dynamicArray.Add(4);
dynamicArray.Add(5);
// 再次输出List的大小和内容
Console.WriteLine("添加更多元素后,List的大小:" + dynamicArray.Count);
Console.WriteLine("List的内容:");
foreach (int item in dynamicArray)
{
Console.WriteLine(item);
}
}
}
```
阅读全文