📌  相关文章
📜  c# 检查对象是否可以转换为类型 - C# (1)

📅  最后修改于: 2023-12-03 14:39:47.217000             🧑  作者: Mango

C# 检查对象是否可以转换为类型

在 C# 中,我们可以使用 as 运算符来将一个对象转换为特定类型的对象。但是,在进行转换之前,我们需要检查该对象是否可以转换为该类型,以避免出现运行时错误。

使用 is 运算符进行检查

在 C# 中,我们可以使用 is 运算符来检查一个对象是否可以转换为指定类型。这个运算符返回一个布尔值,表示对象是否可以转换成功。

以下是一个示例:

object obj = "hello world";

if (obj is string)
{
    string str = obj as string;
    Console.WriteLine(str);
}
else
{
    Console.WriteLine("obj cannot be converted to string.");
}

在这个示例中,我们首先创建了一个 object 类型的对象 obj,它实际上是一个字符串。然后,我们使用 is 运算符检查 obj 是否可以转换为 string 类型。如果可以,我们将 obj 转换为 string,并输出它的值。否则,我们输出一个错误消息。

使用 as 运算符进行转换

如果我们已经确定一个对象可以转换为特定类型,我们可以使用 as 运算符将其转换为该类型的对象。如果无法转换,该运算符将返回 null

以下是一个示例:

object obj = "hello world";
string str = obj as string;

if (str != null)
{
    Console.WriteLine(str);
}
else
{
    Console.WriteLine("obj cannot be converted to string.");
}

在这个示例中,我们首先创建了一个 object 类型的对象 obj,它实际上是一个字符串。然后,我们使用 as 运算符将 obj 转换为 string 类型,赋值给变量 str。如果转换成功,我们输出 str 的值。否则,我们输出一个错误消息。

总结

在 C# 中,我们可以使用 is 运算符检查一个对象是否可以转换为特定类型的对象,使用 as 运算符进行转换。这些运算符有助于避免转换失败和运行时错误。