c# linq ToDictionary 用法
时间: 2023-10-28 15:13:00 浏览: 155
ToDictionary是LINQ的一个扩展方法,可以将一个集合转换为一个字典,其中集合的元素作为字典的键,而另一个函数则将每个元素映射到相应的值。以下是使用ToDictionary的基本语法:
```csharp
var dict = collection.ToDictionary(key => key.KeyProperty, value => value.ValueProperty);
```
其中,`collection`是要转换为字典的集合,`key`是集合中的元素,`KeyProperty`和`ValueProperty`是元素的属性,它们将作为字典的键和值。
例如,假设我们有一个Person类,其中包含Id和Name属性:
```csharp
class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
```
我们有一个Person集合,我们可以使用ToDictionary将其转换为一个字典,其中Id是键,Name是值:
```csharp
var people = new List<Person>
{
new Person { Id = 1, Name = "Alice" },
new Person { Id = 2, Name = "Bob" },
new Person { Id = 3, Name = "Charlie" },
};
var dict = people.ToDictionary(p => p.Id, p => p.Name);
```
这将创建一个字典,其中键为Id,值为Name:
```
{
1: "Alice",
2: "Bob",
3: "Charlie"
}
```