2012-06-13 84 views
15

System.String.Split()是否曾經返回null? (.net)可以String.Split()是否返回null? (.net)

我知道我一直在編碼的信念,不過,在閱讀文檔時我沒有看到這樣的聲明。由於文檔中沒有這樣的陳述,所以我想問一下社區的經驗有沒有人遇到過這樣的情況:string.split返回null?

+1

想想拆分呢。答案就在你面前。 – asawyer

+0

是的,回想起來應該很明顯。哦,太遲了,現在不要問這個問題。 :) –

+0

@asawyer 5年後,我很好奇,答案在他面前如何? – eaglei22

回答

31

不,它不能返回null。如果你看它的來源,它甚至保證它與代碼合同:

public String[] Split(params char[] separator) { 
    Contract.Ensures(Contract.Result<String[]>() != null); 

所有公共重載也作出同樣的保證。

10

不,它不返回空值。如果分離器不存在,則返回整個字符串

MSDN

如果此實例不包含任何在分離器中的字符串,返回的陣列由包含此實例的單個元件構成。如果分離參數爲空或不包含字符,空白字符被認爲是分隔符

1

它不能返回,請確保您的屬性不爲空

if (property != null) 
{ 
    string[] splitData = sampleObject.property.Split(new char[] { ',' }, 
    StringSplitOptions.RemoveEmptyEntries); 
} 
相關問題