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。就是这样:只有例外和没有例外