2011-11-25 39 views
0

內返回null,在我的模型我有以下幾點:從得到的一類

public string Subject { 
     get { 
      return SubjectReference.GetSubject(SubjectID); 
     } 
    } 

我怎樣才能讓這個這樣,如果SubjectID爲null,則get調用將返回null?我認爲有一種方法可以做到這一點?運算符,但我可以在類的模型屬性中使用這個嗎?

+0

呦你可以使用三元運算符'?'或只是一個'if'語句。 – Andre

+0

@從技術上講是條件操作符。儘管C#中只有一個三元運算符,但並不意味着將來不會有另一個三元運算符。 –

+0

@YuriyFaktorovich這樣說毫無建設性:「你的評論中有一個錯字,你的意思可能是** **在** C#中」。 – Andre

回答

4

如何

public string Subject 
{ 
    get 
    { 
     return SubjectID == null ? null : SubjectReference.GetSubject(SubjectID); 
    } 
} 

你可以考慮string.IsNullOrEmpty(SubjectID)而不是當SubjectID一個空字符串也應該導致null回報。

如果你的財產是一個參考類型,當然null是一個合法的返回值。

+0

所以以下將好起來:return string.IsNullOrEmpty(SubjectID)? null:SubjectReference.GetSubject(SubjectID); –

+0

@Melissa是的,這樣可以。 – ChrisWue

3

正如您所提到的,您可以使用常規的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); 
    } 
} 
1

你可以試試這個

public string Subject { 
    get { 
     return SubjectID==null ? null : SubjectReference.GetSubject(SubjectID); 
    } 
}