null 참조를 대입하지 않도록 강제하는 코드를 작성하다보면, 배열을 만들 때 일단 길이가 0인 배열부터 만들고 시작하게 되는 코드를 넣게 되는 경우가 있습니다. 이 경우, 단순히 new XYZ[0]; 로 할당을 할 경우 이것이 누적되면 상당한 성능 오버헤드를 야기할 수 있는데요,
이에 대한 해결책으로 Array.Empty 메서드가 .NET Framework 4.6, 그리고 .NET Core 1.0부터 제공되어오기 시작했는데, 이 메서드는 단순히 new XYZ[0]; 표현식에 대한 syntax sugar가 아니라 내부적으로 싱글턴 인스턴스를 만들어 이를 대신 반환하도록 설계된 메서드라 적극 사용할 필요가 있습니다.