C# list 添加到第一个
时间: 2024-09-12 12:06:39 浏览: 41
在C#中,如果你有一个List<T>类型的集合,想要将某个元素添加到列表的开头(即第一个位置),你可以使用`AddFirst()`方法。但是请注意,这个方法不是所有.NET Framework版本都默认提供的,它属于`System.Collections.ObjectModel.ReadOnlyCollection<T>`和`System.Collections.ObjectModel.Collection<T>`等一些特殊的集合类型。对于普通的`List<T>`,你需要先创建一个新的列表并将元素添加进去,然后再将这个新列表设置为原列表的值,例如:
```csharp
List<int> numbers = new List<int>(); // 创建一个空的整数列表
int valueToInsert = 5;
// 新建一个包含要插入元素的新列表
List<int> tempList = new List<int> {valueToInsert};
// 将新列表的内容添加到原始列表的开始
numbers.AddRange(tempList);
// 或者使用插入操作
// numbers.Insert(0, valueToInsert);
```
如果你是在使用.NET Core或.NET Framework 4.0及以上版本,并且想直接对普通`List<T>`使用`AddFirst()`,那么需要先转换到`ReadOnlyCollection<T>`,因为`AddFirst()`在这个类型上可用:
```csharp
List<int> numbers = new List<int>();
...
var readOnlyList = new ReadOnlyCollection<int>(numbers); // 转换为只读列表
readOnlyList.AddFirst(valueToInsert); // 现在可以添加到开始
numbers = readOnlyList.ToList(); // 再将其转换回可修改的List
```