As others have pointed out, the array will be filled null after it is declared. You can simplify your initialization logic by doing the following:
response.LocationDetails = new LocationDetails [] { new LocationDetails(), new LocationDetails(), new LocationDetails(), new LocationDetails() };
And what would be even better if the LocationDetails constructor had an overload that took placeid:
response.LocationDetails = new LocationDetails [] { new LocationDetails("ABCDE"), new LocationDetails("FGHIJ"), new LocationDetails("KLMNO"), new LocationDetails("PQRST") };
Or super fancy C # 3.0 stuff referee points out :)
source share