How to Instantiate an Integer Array in an Array of Arrays?

I tried to create an array of arrays in Unity in order to edit the values in the Inspector, as you can’t simply edit a multidimensional array. I want to be able to input an X and Y value that will allow me to adjust the length and width of the arrays.

[System.Serializable]
[ExecuteInEditMode()]
public class Row{
	public int[] column;
}

[System.Serializable]
[ExecuteInEditMode()]
public class Array2D{
	public Row[] rows;
}

[System.Serializable]
[ExecuteInEditMode()]
public class test : MonoBehaviour {
	
	public int x;
	public int y;
	
	public Array2D Tiles;
	public bool refresh = false;
	
	// Use this for initialization
	void Start () {
	}
	
	// Update is called once per frame
	void Update () {
			if(refresh==true){
			setRowCol(x,y);
		}
	}
	
	void setRowCol(int r,int h){
		
		if(r>0&&h>0){
		Tiles.rows = new Row[r];
		
			for(int i=0; i<r;i++){
			Tiles.rows*.column = new int<mark>;</mark>*

}
}
if(r==0||h==0){
Debug.Log(“0 is not a valid value for X or Y”);
}
refresh=false;
}
}
The code works fine for the most part; however, this one line:
Tiles.rows*.column = new int;*
Does not work however much I try. Can someone please tell me what the issue is?
The error I get is a NullReferenceException.

Tiles.rows = new Row[r];

That line is assigning an array or Rows but not actually instantiating any instances of Row. At that point the array holds a set of null values. You then receive an error when you try to access a property of the null in Tiles.rows[0].

Instead you should assign a new Row instance for each position in the rows[] array, then you can access their properties:

         for(int i=0; i<r;i++){
             Tiles.rows *=  new Row();*

Tiles.rows*.column = new int;*
}