2012-06-13 27 views
15

Hệ thống.String.Split() có bao giờ trả về null không? (.net)Có thể String.Split() bao giờ trả về null không? (.net)

Tôi biết tôi đã được mã hóa với niềm tin rằng nó không, tuy nhiên, khi đọc các tài liệu tôi không thấy một tuyên bố như vậy. Vì không có một tuyên bố như vậy trong các tài liệu, vì vậy tôi muốn hỏi trong kinh nghiệm của cộng đồng có ai thực sự gặp phải trường hợp string.split trả về null không?

+1

Hãy suy nghĩ về những gì chia làm. Câu trả lời là ngay trước mặt bạn. – asawyer

+0

Vâng, nhìn lại nó phải rõ ràng. Ồ, quá muộn để không hỏi bây giờ. :) –

+0

@asawyer 5 năm sau, tôi là curios như thế nào là câu trả lời ngay trước mặt anh ấy? – eaglei22

Trả lời

31

Không, nó không thể trả về giá trị rỗng. Nếu bạn nhìn vào nguồn của nó, nó thậm chí đảm bảo nó với các hợp đồng mã:

Mọi quá tải công cộng cũng đảm bảo như vậy.

10

Không, nó không trả về giá trị rỗng. Nếu tách là không có mặt, nó sẽ trả toàn bộ chuỗi

Từ MSDN

Nếu trường hợp này không chứa bất kỳ của chuỗi trong phân cách, mảng được trả về bao gồm một yếu tố duy nhất có chứa trường hợp này. Nếu tham số phân cách là null hoặc không chứa ký tự, ký tự trắng-không gian được giả định là delimiters

1

nó không thể trở lại, đảm bảo tài sản của bạn không có sản phẩm nào

if (property != null) 
{ 
    string[] splitData = sampleObject.property.Split(new char[] { ',' }, 
    StringSplitOptions.RemoveEmptyEntries); 
} 
Các vấn đề liên quan