How to create random dynamic 2D arrays in SystemVerilog?

In reply to amir_sharfu:


module DA;
int DA1[][];
initial begin
DA1 = new[2];
foreach(DA1[i]) DA1[i]=new[3];
foreach(DA1[i,j]) begin
DA1[i][j]=$urandom_range(10,20);
end
foreach(DA1[i,j])
$display("\DA1[%0d,%0d] = %0d",i,j, DA1[i][j]);
end
endmodule

Thanks But If I check the dimension of DA1. it has 3. I though it has 2.
Could you let me know why DA1 has 3 Dimensions?

module DA;
  int DA1[][];
  initial begin
      DA1 = new[2];
    foreach(DA1[i])
      DA1[i] = new[3];

    foreach(DA1[i,j]) begin
      DA1[i][j] = $urandom_range(10,20);
    end

    foreach(DA1[i,j])
      $display("\DA1[%0d, %0d] = %0d", i,j, DA1[i][j]);


    $display("dimension:%0d", $dimensions(DA1));
  end

endmodule