【发布时间】:2019-01-25 09:52:01
【问题描述】:
我正在看一个关于 C# 三元运算符的教程,老师说你应该先检查字符串是否不为空,但没有解释原因。我试过先检查字符串是否不为空,得到的结果和他一样,有关系吗?
public class TernaryChallenge : MonoBehaviour
{
public string playerName;
void OnDisable()
{
string name = (playerName != "" && playerName != null) ? "Hello " + playerName : "Hello Player 1!";
Debug.Log(name);
}
}
【问题讨论】:
-
你确定
playerName在你运行上面的代码时没有一些非空值吗?如果它为空,我认为你的代码会失败。 -
简单的回答是。使用 && 运算符时,如果第一个条件失败,则不会评估第二个条件。检查的原因是评估空指针会导致异常。
标签: c# string null conditional-statements