2012-06-13 19 views
15

System.String.Split() öğesi hiç boş döndü mü? (.net)Can String.Split() hiç dönemez mi? (.net)

Ancak, bu belgeyi görmediğime inandığım inancıyla kodlama yaptığımı biliyorum. Dokümanlarda böyle bir ifade bulunmadığından, topluluk deneyimini sormak istiyorum, string.split'in null değerini döndürmesiyle gerçekten karşılaşan biri var mı?

+1

Bölünmüş ne düşün boş olmadığından emin olun. Cevap önünüzde. – asawyer

+0

Evet, geçmişe bakıldığında açık olmalıydı. Oh, şimdi sormak için çok geç. :) –

+0

@asawyer 5 yıl sonra, karşılığın cevabı onun önünde nasıldır? – eaglei22

cevap

31

Hayır, null döndüremez. bunun kaynağında bakarsak, hatta kod sözleşmeleri ile güvence altına:

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

Tüm kamu aşırı yükler de aynı garanti olun.

10

Hayır, null döndürmez. ayırıcı yoksa bu örnek ayırıcı içinde dizeleri hiçbirini içermiyor ise, MSDN

itibaren bütün dize

döndürür dönen dizi bu örneği içeren tek bir birimden oluşur. ayırıcı parametresi null veya hiç karakterler içeriyorsa, beyaz boşluk karakterleri o döndüremez sınırlayıcı

1

olduğu varsayılır, emin mülkiyet

if (property != null) 
{ 
    string[] splitData = sampleObject.property.Split(new char[] { ',' }, 
    StringSplitOptions.RemoveEmptyEntries); 
} 
İlgili konular