The concise way to initialize an array of reference type object

前端 未结 3 1250
猫巷女王i
猫巷女王i 2021-01-19 06:00

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         


        
3条回答
  •  长情又很酷
    2021-01-19 06:44

    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) ;
    

提交回复
热议问题