On Tuesday, 28 February 2012 at 08:38:10 UTC, Mikael Lindsten wrote:
Coming from the Java/C# world, not distinguishing between an empty array and null feels strange to me. Is this so for strings as well? ...and in Pedros example, if you assign null to b and then try to access b.length,
don't you get a NullPointerException? What am I missing?


/ Mikael

string is an array, alias immutable(char)[], so the same rules apply.

There is no NullPointerException, it is a segfault/Access Violation/Bus Error.

An empty array and a null array are equal. And this definition does work well.

You can distinguish between an empty array and a null array by using the 'is' operator. What is pointed out here is that an empty array literal, [], is null while an empty array is not. This behavior is easy to explain in terms sf why, but may not be a good choice for sake of consistency.

Reply via email to