我正在實現對象的ToString方法。該方法看起來像:C#鏈?不同類型的運算符
public override string ToString()
{
return "E" + (myNum ?? SQLIndex) + STK.ExtraLabel(areaType);
}
其中myNum是一個可爲空的int和SQLIndex只是一個int。
但是權力已經決定,如果SQLIndex尚未設置(如果未設置,則爲= -1),則應在其中放置「NEW」而不是-1。
因此,我將SQLIndex更改爲可爲空的int,但此代碼不起作用,因爲我在猜測?操作員不能同時返回int和字符串,即使INT將被澆鑄爲字符串:
public override string ToString()
{
return "E" + (myNum ?? SQLIndex ?? "NEW") + STK.ExtraLabel(areaType);
}
我目前使用三元操作符來完成相同的效果,但爲便於閱讀的緣故,沒有任何如何使用快捷方式?運營商在這裏
爲了便於閱讀,您想使用三元運算符?爲什麼不使用'if'' else'語句來提高可讀性? – Aron
@Aron爲了可讀性,他希望兩次使用['??'(null-coalescing)運算符](https://msdn.microsoft.com/en-us/library/ms173224.aspx)。 –