c# dictionary 中查找key为自定义类的值,且key的类有多个属性
时间: 2024-12-14 21:21:28 浏览: 11
在 C# 中,如果你有一个 Dictionary 键值对,其中键是自定义类的对象,且这个类有多個属性,你可以通过获取该对象的引用并直接访问其属性来查找。例如,假设你有一个名为 `Person` 的类,包含 `Name` 和 `Age` 这两个属性,你可以这样做:
```csharp
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
Dictionary<Person, object> personDict = new Dictionary<Person, object>();
// 添加实例到字典
personDict.Add(new Person { Name = "John", Age = 30 });
// 查找 Key(Person 对象)
Person searchKey = new Person { Name = "John" }; // 或者直接使用之前添加的Person对象
object value;
if (personDict.TryGetValue(searchKey, out value))
{
// 如果找到了匹配的键,value 就是你之前存储的对象,比如 null 或某个定制的数据结构
Person foundPerson = value as Person; // 假设value是null或Person类型
if (foundPerson != null)
{
Console.WriteLine($"Found person with name '{foundPerson.Name}' and age '{foundPerson.Age}'.");
}
}
else
{
Console.WriteLine("Person not found in the dictionary.");
}
阅读全文