2015-06-18 35 views
1

我需要的一些信息。給人一種串上我怎麼可以在下面的<code>null</code>值中的代碼片斷設置該字符串爲空值

[Index(IsUnique = true)] 
[StringLength(450)] 
public string StockCode 
{ 
    get { return _stockCode; } 
    set { _stockCode = value.ToUpper(); } //(ToUpper)<<-- Error 
} 

當我嘗試這樣做的正常方式public string? StockCode我的錯誤我.ToUpper和它說:

「System.Nullable」不包含「ToUpper的」 和定義沒有擴展方法「ToUpper的」接受型 「System.Nullable」的第一個參數可以找到(是否缺少使用 指令或程序集引用?)

我不是專家或親C#編碼器,所以我不知道如何來我的字符串設置爲空值,並且還在我試圖做到這一點的方式使用.ToUpper。 :(任何建議,將不勝感激!

+0

刪除'?''從string' –

+0

你不能爲空的字符串,字符串'?'將無法編譯。 – DavidG

+0

沒有理由有一個可爲空的字符串,因爲字符串是一個可爲空的對象它自己的。 Nullable包裝器只能用於原始類型和值類型。 – JNYRanger

回答

6

不知道,如果你要面對所有的併發症時,你會嘗試進行檢查獲得此屬性,而只是增加了對空值的檢查應用ToUpper的()之前

set { _stockCode = (value == null ? null : value.ToUpper()); } 
+1

或者對心臟簡單'if' :-) – xanatos

+2

@xanatos你是什麼人,瘋狂的微弱? – JNYRanger

+0

謝謝你指出我! – CareTaker22

1

不能在字符串中使用可空類型。字符串默認接受空值,並且可以通過string.IsNullOrEmpty(StockCode);

+1

我downvoted你,因爲字符串不能是可空的,因爲它不是一個值類型;它是一個對象/引用類型。只有值類型可以爲空,因此.HasValue()方法無效。然而,'string.IsNullOrEmpty()'是OP – JNYRanger

+0

你是絕對正確的,我的壞一個很好的建議。 –

+0

@JNYRanger我不知道,但非常感謝你! – CareTaker22

相關問題