Может ли 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);
}