I wonder if there is better way to initialize an array of reference type object, like this.
Queue[] queues = new Queue[10];
for (int i
No, there isn't. Just factor it out into a utility method:
// CommonExtensions.cs
public static T[] NewArray (int length) where T : class, new ()
{
var result = new T[length] ;
for (int i = 0 ; i < result.Length ; ++i)
result[i] = new T () ;
return result ;
}
// elsewhere
var queues = Extensions.NewArray> (10) ;