Может ли String.Split() когда-либо возвращать null? (.сеть)
System.String.Split()
когда-либо возвращает null
? (.СЕТЬ)
Я знаю, что кодировал, полагая, что это не так, однако, читая документы, я не вижу такого утверждения. Поскольку в документах такого утверждения нет, поэтому я хочу спросить, по опыту сообщества, кто-нибудь действительно сталкивался со случаем, что string.Split
возвращает значение null
?
Ответы
Ответ 1
Нет, он не может вернуть значение null. Если вы посмотрите на источник, он даже гарантирует его с помощью кодовых контрактов:
public String[] Split(params char[] separator) {
Contract.Ensures(Contract.Result<String[]>() != null);
Все общедоступные перегрузки также обеспечивают ту же гарантию.
Ответ 2
Нет, он не возвращает null. Если разделитель отсутствует, он возвращает целую строку
От MSDN
Если этот экземпляр не содержит ни одной строки в разделителе, возвращаемый массив состоит из одного элемента, который содержит этот экземпляр. Если параметр разделителя равен нулю или не содержит символов, символы пробела считаются разделителями
Ответ 3
он не может вернуться, убедитесь, что ваше свойство не пустое.
if (property != null)
{
string[] splitData = sampleObject.property.Split(new char[] { ',' },
StringSplitOptions.RemoveEmptyEntries);
}