gpt4 book ai didi

c# - 'as' 关键字的用例

转载 作者:太空狗 更新时间:2023-10-29 21:34:03 24 4
gpt4 key购买 nike

<分区>

我想知道,在什么情况下您会使用 C# 的“as”关键字,而不是强制转换和检查异常?考虑这个例子:

Parent obj = new Child();

// Method 1:
try
{
Child result1 = (Child)obj;
}
catch (InvalidCastException)
{
// Handle failed cast
}

// Method 2:
if(obj is Child)
{
Child result2 = obj as Child;
}
else
{
// Handle failed cast
}

据我所知,方法 1 和方法 2 产生的结果完全相同。我知道,当它们失败时,as 关键字将生成 null,而强制转换将抛出 ClassCastException,但对我来说,这似乎不足以成为使用两种几乎相同的方法来强制转换对象的理由。所以我想知道,为什么 C# 语言设计者不厌其烦地添加“as”关键字?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com