温馨提示×

c# trygetvalue 能通用吗

c#
小樊
84
2024-11-23 09:13:15
栏目: 编程语言

TryGetValue 是C#中的一个方法,通常用于字典(Dictionary)和集合(HashSet)等类型,以尝试获取某个键或元素的值。它不能直接用于所有类型,因为它是一个泛型方法,需要指定键的类型。

例如,在字典中,你可以这样使用 TryGetValue

Dictionary<string, int> myDictionary = new Dictionary<string, int>();
myDictionary.Add("apple", 1);
myDictionary.Add("banana", 2);

int value;
if (myDictionary.TryGetValue("apple", out value))
{
    Console.WriteLine($"The value of 'apple' is {value}.");
}
else
{
    Console.WriteLine("The key 'apple' was not found in the dictionary.");
}

然而,对于其他类型,如自定义类,你不能直接使用 TryGetValue,因为它需要一个键参数。在这种情况下,你需要在自定义类中实现类似的方法。例如:

public class MyClass
{
    public string Key { get; set; }
    public int Value { get; set; }
}

MyClass myObject = new MyClass { Key = "apple", Value = 1 };

int value;
if (myObject.TryGetValue("Key", out value))
{
    Console.WriteLine($"The value of 'Key' is {value}.");
}
else
{
    Console.WriteLine("The key 'Key' was not found in the object.");
}

在这个例子中,我们在 MyClass 中实现了一个名为 TryGetValue 的方法,它接受一个字符串参数(与类的属性名相匹配),并尝试获取与该键关联的值。

0