內返回null,在我的模型我有以下幾點:從得到的一類
public string Subject {
get {
return SubjectReference.GetSubject(SubjectID);
}
}
我怎樣才能讓這個這樣,如果SubjectID爲null,則get調用將返回null?我認爲有一種方法可以做到這一點?運算符,但我可以在類的模型屬性中使用這個嗎?
內返回null,在我的模型我有以下幾點:從得到的一類
public string Subject {
get {
return SubjectReference.GetSubject(SubjectID);
}
}
我怎樣才能讓這個這樣,如果SubjectID爲null,則get調用將返回null?我認爲有一種方法可以做到這一點?運算符,但我可以在類的模型屬性中使用這個嗎?
如何
public string Subject
{
get
{
return SubjectID == null ? null : SubjectReference.GetSubject(SubjectID);
}
}
你可以考慮string.IsNullOrEmpty(SubjectID)
而不是當SubjectID
一個空字符串也應該導致null
回報。
如果你的財產是一個參考類型,當然null
是一個合法的返回值。
所以以下將好起來:return string.IsNullOrEmpty(SubjectID)? null:SubjectReference.GetSubject(SubjectID); –
@Melissa是的,這樣可以。 – ChrisWue
正如您所提到的,您可以使用常規的if
語句或三元運算符(?
運算符)。下面提供了每個示例。
使用if語句:
public string Subject {
get {
if (SubjectID == null) {
return null;
}
return SubjectReference.GetSubject(SubjectID);
}
}
使用三元運算符:
public string Subject {
get {
return SubjectID == null ? null : SubjectReference.GetSubject(SubjectID);
}
}
你可以試試這個
public string Subject {
get {
return SubjectID==null ? null : SubjectReference.GetSubject(SubjectID);
}
}
呦你可以使用三元運算符'?'或只是一個'if'語句。 – Andre
@從技術上講是條件操作符。儘管C#中只有一個三元運算符,但並不意味着將來不會有另一個三元運算符。 –
@YuriyFaktorovich這樣說毫無建設性:「你的評論中有一個錯字,你的意思可能是** **在** C#中」。 – Andre