【发布时间】:2017-11-04 19:10:48
【问题描述】:
我遇到的问题是我正在尝试使用三元运算符而不是 if else 来处理较小的代码,但是在我的情况下使用它时,它返回的结果与我使用 if else 时的结果不同。
问题代码如下;
如果是这样
if(string.IsNullOrEmpty(jn["LARM"].Value))
pm.ItemLeftArm = null;
else
pm.ItemLeftArm = jn["LARM"];
三元
pm.ItemLeftArm = string.IsNullOrEmpty(jn["LARM"].Value) ? null : jn["LARM"];
jn["LARM"] 是来自 simpleJSON 的 json 节点,它可以是一个数字,例如“0”或什么都没有,例如“”。
它从if else返回null,但它返回从“”转换为0的jn对象。
我不知道为什么会遇到这个问题。
【问题讨论】:
标签: unity3d ternary-operator game-development