c# – 这是Split方法的未记录的覆盖吗?

前端之家收集整理的这篇文章主要介绍了c# – 这是Split方法的未记录的覆盖吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚发现这个代码不仅编译,而且似乎在任何空格上分割字符串.
List<string> TableNames = Tables.Split().ToList();

然而,它没有在intellisense中显示,它不在MSDN page上.

这只是一个没有文档的覆盖吗?因此,使用是否危险?

解决方法

这不是一个覆盖.在这种情况下,编译器使用空参数将Split()转换为Split(char []).

拆分is defined

public string[] Split(
    params char[] separator
)

params允许您指定可变数量的参数,包括根本没有参数.如果未提供任何参数(如示例所示),则分隔符数组将为空.

从上面链接的MSDN页面

If the separator parameter is null or contains no characters,white-space characters are assumed to be the delimiters.

这就是为什么你看到字符串在空格上分割的原因.这只是默认行为而不是未记录的功能,因此您可以自由使用它而不必担心会出现异常的副作用.好吧,除非默认行为在.NET的未来版本中发生变化,但这对我来说似乎不太可能,因为空格是合理的默认值.

猜你在找的C#相关文章