C#:如何对动态对象进行空值检查如何对动态对象进行空值检查?伪代码:publicvoidMain(){dynamicdynamicObject=33;if(true){//任意逻辑dynamicObject=null;}方法(动态对象);}publicvoidMethod(dynamicparam){//TODO:检查“param”的内容是否等于null}您是否担心动态对象可能具有自定义相等运算符来更改null的解释方式?如果是这样,只需使用Object.ReferenceEqualsif(Object.ReferenceEquals(null,param)){...。您始终可以创建对象类型的参数,这就是编译器正在做的事情。当您将参数设置为dynamic时,它仅意味着在该方法中,它仅对param的所有用法使用动态调用,但在它之外,它只是类型对象的签名。dynamicObject的一个更强大的用途是为你调用的方法重载,所以如果你保持你的例子相同并且只有两个重载,它会根据运行时类型调用两个方法之一,你可以更随时添加更多类型。publicvoidMain(){动态dynamicObject=33;if(true){//任意逻辑dynamicObject=null;}方法(动态对象);}publicvoidMethod(intparam){//不必检查checknull//仅当dynamicObject是int时调用}publicvoidMethod(objectparam){//如果dynamicObject不是int或null将被调用你可以使用简单的:vars=data.servicePhoneNumberisnull?"":data.servicePhoneNumber.Value;以上就是C#学习教程:C#:Howtoperformnullchecksondynamicobjects。如果对大家有用,需要进一步了解C#学习教程,还望大家多加关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
