c# dictionary 中查找key为自定义类的值,且自定义的类有多个属性
时间: 2024-12-14 10:21:28 浏览: 5
C#中Dictionary类使用实例
在 C# 中,`Dictionary<TKey, TValue>` 类是用来存储键值对的数据结构,其中 `TKey` 表示键的数据类型,`TValue` 表示值的数据类型。如果你想要查找值为自定义类(例如 User 类,该类包含多个属性如 Name、Age 等)的实例,你需要将这个自定义类作为 `TValue` 的类型。
假设你有一个名为 User 的类:
```csharp
public class User
{
public string Name { get; set; }
public int Age { get; set; }
}
```
你可以这样做来查找 Key(例如字符串)对应的 User 对象:
```csharp
Dictionary<string, User> userDictionary = new Dictionary<string, User>();
// 添加一些用户数据到字典
userDictionary.Add("Alice", new User { Name = "Alice", Age = 25 });
userDictionary.Add("Bob", new User { Name = "Bob", Age = 30 });
// 查找特定用户的实例
User foundUser = userDictionary.TryGetValue("Alice", out User result) ? result : null;
if (foundUser != null)
{
Console.WriteLine($"Found user with name {foundUser.Name} and age {foundUser.Age}");
}
else
{
Console.WriteLine("User not found.");
}
```
在这个例子中,`TryGetValue` 方法尝试获取指定键的值,如果找到就返回该值,否则返回默认值(这里是 User 类型的 null)。如果需要直接通过键查询并更新属性,也可以直接访问 Dictionary 的元素,例如 `userDictionary["Alice"].Name`。
阅读全文