String.Split()能否返回null? (。净)

时间:2012-06-13 19:31:56

标签: c# .net string

System.String.Split()是否会返回null? (.NET)

我知道我一直在编码,但是在阅读文档时我并没有看到这样的陈述。由于文档中没有这样的声明,所以我想在社区的经验中询问是否有人遇到string.Split返回null的案例?

3 个答案:

答案 0 :(得分:35)

不,它不能返回null。如果你看一下它的来源,它甚至可以用代码契约保证它:

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

所有公共超载也都有同样的保证。

答案 1 :(得分:13)

不,它不会返回null。如果分隔符不存在,则返回整个字符串

来自MSDN

  

如果此实例不包含分隔符中的任何字符串,则返回的数组由包含此实例的单个元素组成。如果separator参数为null或不包含任何字符,则假定空格字符为分隔符

答案 2 :(得分:1)

它无法返回,请确保您的财产不为空

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