c#初始list长度
时间: 2025-05-02 09:47:05 浏览: 22
在 C# 中,可以通过多种方式初始化一个具有指定长度的 `List<T>`。以下是几种常见的实现方法:
### 方法一:使用构造函数设置容量
可以利用 `List<T>` 的构造函数来创建一个列表并为其分配初始容量。虽然这不会自动填充列表中的元素,但它会预留内存空间以便后续操作。
```csharp
int specifiedLength = 10;
List<int> myList = new List<int>(specifiedLength);
Console.WriteLine(myList.Count); // 输出为 0,因为 Count 表示实际存储的元素数量
Console.WriteLine(myList.Capacity); // 输出为 10,表示已分配的空间大小
```
这种方法仅设置了内部缓冲区的容量,并未真正向其中添加任何数据[^1]。
### 方法二:通过循环赋默认值
如果希望不仅设定列表长度还预先填充值,则可采用如下代码片段完成任务:
```csharp
int specifiedLength = 5;
List<string> names = Enumerable.Repeat(default(string), specifiedLength).ToList();
foreach(var name in names){
Console.WriteLine(name ?? "null");
}
// 或者手动逐项加入 null 值
List<string> anotherNames = new List<string>();
for(int i=0;i<specifiedLength;i++) {
anotherNames.Add(null);
}
```
上述例子展示了两种不同的技术用于生成含有特定数目条目的字符串型态清单实例;一种依赖 LINQ 函数 Repeat 来重复产生相同项目直至达到所需尺寸为止,另一种则是运用传统 for 循环逐一追加占位符至集合之中[^2]。
另外,在某些场景下可能需要自定义对象而非简单类型的容器时,同样适用以上逻辑调整相应属性即可满足需求[^3]。
### 方法三:直接列举成员进行初始化
当确切知道要放入哪些固定数值或者实体的时候可以直接书写出来作为参数传递给工厂表达式从而构建目标结构体
```csharp
List<double> numbers = new() { 1.1, 2.2 ,3.3 };
if(numbers.Count !=3 ){
throw new InvalidOperationException("Initialization failed.");
}
```
此段落说明了如何快速建立包含三个浮点数在内的双精度实数序列并向外界暴露其接口供调用方访问验证正确性.
阅读全文
相关推荐


















