This is not an override. In this case, the compiler translates Split() to Split(char[]) with an empty parameter.
Split is defined as
public string[] Split( params char[] separator )
params allows you to specify a variable number of arguments, including no arguments at all. If there are no arguments (as in your example), the separator array will be empty.
On the MSDN page linked above:
If the delimiter parameter is zero or does not contain characters, it is assumed that the space characters are delimiters.
This is why you see line splitting into spaces. This is the default behavior, not an undocumented feature, so you can use it without fear of unusual side effects. Well, if the default behavior does not change in a future version of .NET, but this seems unlikely to me, since spaces are a reasonable default.
source share