C# “abc类型”和“abc as类型”之间有区别吗

C# “abc类型”和“abc as类型”之间有区别吗,c#,.net,types,casting,C#,.net,Types,Casting,可能重复: 首先,我很抱歉,如果这是一个重复,我已经尝试谷歌,但这不是一个简单的谷歌做到 以下代码片段在功能、性能等方面是否存在差异: MyClass myClass = (MyClass)someObject; MyClass myClass = someObject as MyClass; 是的,有区别 如果转换失败,as运算符将变量设置为null 显式强制转换将引发异常是的,如果第一个变量无法将“someObject”强制转换为“MyClass”,它将引发异常。而第二个则返回null

可能重复:

首先,我很抱歉,如果这是一个重复,我已经尝试谷歌,但这不是一个简单的谷歌做到

以下代码片段在功能、性能等方面是否存在差异:

MyClass myClass = (MyClass)someObject;

MyClass myClass = someObject as MyClass;

是的,有区别

如果转换失败,as运算符将变量设置为null


显式强制转换将引发异常

是的,如果第一个变量无法将“someObject”强制转换为“MyClass”,它将引发异常。而第二个则返回null。

就是这样:只有例外和没有例外