Posts

Showing posts from November, 2010

Concatenating Dynamic Arrays

Another day another unit test and another extension to my little TArrayEx class. This time I found myself having to concatenate some dynamic arrays. After solving the problem for the particular array type I decided to produce a generic solution. Here's the method I came up with: type TArrayEx = class ( TObject ) public .. . class function Concat < T > ( const Arrays : array of TArray < T > ) : TArray < T > ; .. . end ; The method takes an array of the arrays you want to concatenate (don't forget the [] notation) and returns the concatenated array. Here's an example where the resultant array A contains the integers 1 to 10 in order: var A , A1 , A2 , A3 : TArray < Integer > ; begin A1 := TArray < Integer > . Create ( 1 , 2 , 3 ) ; A2 := TArray < Integer > . Create ( 4 , 5 , 6 ) ; A3 := TArray < Integer > . Create ( 7 , 8 , 9 , 10 ) ; A := TArrayEx . Conc