I don't understand why do we need a whole class to create an array const myEmptyArray: string[] = EmptyArray.create<string>(); in C# you can just string[] myEmptyArray = new string[] {}; or List<string> myEmptyList = new List<string>();
const myEmptyArray: string[] = EmptyArray.create<string>();
string[] myEmptyArray = new string[] {};
List<string> myEmptyList = new List<string>();
Sure. There's a semantic preference and also, in some cases, a performance boost too.
In C#, for example, using Enumerable.Empty<T>() will use a singleton underneath the covers so you aren't allocating an empty array on the heap.
Enumerable.Empty<T>()
In very specific situations that could help. Otherwise, it's mostly a semantic preference.
That enumerator was not good example. You can't compare mutable with immutable - in this case it is not about semantic.
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I don't understand why do we need a whole class to create an array
const myEmptyArray: string[] = EmptyArray.create<string>();
in C# you can juststring[] myEmptyArray = new string[] {};
orList<string> myEmptyList = new List<string>();
Sure. There's a semantic preference and also, in some cases, a performance boost too.
In C#, for example, using
Enumerable.Empty<T>()
will use a singleton underneath the covers so you aren't allocating an empty array on the heap.In very specific situations that could help. Otherwise, it's mostly a semantic preference.
That enumerator was not good example. You can't compare mutable with immutable - in this case it is not about semantic.