gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 21:02:49 25 4
gpt4 key购买 nike

我刚刚发现这段代码不仅可以编译,而且似乎可以在任何空格处拆分字符串。

List<string> TableNames = Tables.Split().ToList();

但是它没有显示在智能感知中,也不在 MSDN page 上.

这只是一个未记录的覆盖吗?因此使用它有危险吗?

最佳答案

这不是覆盖。在这种情况下,编译器将 Split() 转换为带有空参数的 Split(char[])

拆分 is defined作为

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

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

来自上面链接的 MSDN 页面:

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

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

关于c# - 这是 Split 方法的未记录覆盖吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6449046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com