Nulls should only be returned by “reference” properties (i.e. things that refer to another object or component). String and Array properties should never return null. The reason for this is that users don’t understand null in this context. They always assume the following code will work:
public void DoSomething(…) { string s = SomeOtherFunc(); if (s.Length > 0) { // do something else } }
The general rule is that null, empty string, and empty (0 item) arrays should effectively be treated the same.
Do return an Empty array instead of a null reference.