She*_*Pro 3 .net c# casting type-conversion
我有点好奇知道使用as关键字,Casting或使用Convert.To_______()函数有什么区别.
经过一点点搜索,我发现as操作员只执行参考转换和装箱转换.还有什么其他差异.
我也注意到as很少使用关键字为什么会这样.它们中的任何一个是否具有优于其他的性能优势,或者它们只是框架中的冗余.
(强制转换)语法非常重载,可以执行:
"as"执行这些的子集
但是这里的重要特征是它兼作类型关系的无异常测试 - 比使用异常或使用反射测试更有效.特别是,例如:
// is it a list?
IList list = obj as IList
if(list != null) {
// specific code for lists
}
Run Code Online (Sandbox Code Playgroud)
如果你坚信一个物体是某种东西,那么(演员)是首选,因为这可以作为你信仰的主张.一个例外(在这种情况下)是可取的.
Convert方法处理不同的场景,包括字符串转换(否则可通过静态.Parse方法获得)
如果有的话,它是我最少使用的转换.(强制转换)和"as"语法非常经常使用.