adding to a List problem need help

i have been trying to add stuff to a a list that i have created in another class but it won’t let me

using UnityEngine;
using System.Collections;
using System.Collections.Generic; 
using UnityEngine.UI;

public class column:MonoBehaviour
{
	public List<row> columns=new List<row>();
}
public class row:MonoBehaviour
{
	public  List<Image> rows=new List<Image>();
}

public class ButtonNav : MonoBehaviour {
	float h;
	float v;
	column menuOptionColumn ;
	row menuOptionRow;
	public int menuColumnNum=2;
	public int menuRowNum=3;
	public Image[] menuOptions;
	[HideInInspector]public int xPos=0;
	[HideInInspector]public int Ypos=0;
	int counter =0;
	
	// Use this for initialization
	void Start () {

		
		for (int i =0; i<menuColumnNum; i++) 
		{
			while(counter < menuRowNum)
			{
				menuOptionRow.rows.Add(menuOptions[counter]);
				//Debug.Log (menuOptionRow.rows[0]);
				counter++;
			}
			menuOptionColumn.columns.Add(menuOptionRow);
		}

	}
	
	// Update is called once per frame
	void Update () {
		h = Input.GetAxis ("Horizontal")*Time.deltaTime;
		v = Input.GetAxis ("Vertical")*Time.deltaTime;
		menuButtonNavigation ();
	}
	
	void menuButtonNavigation()
	{
		//Debug.Log ();

		menuOptions[0].color = Color.green;
		if (h < 0) 
		{
			if(xPos>1)
			{
				xPos-=1;
				menuOptionRow.rows[xPos].gameObject.renderer.material.color = Color.green;
			}
		}
		
	}
}

and this is the error

41161-errorbuttonnav.png

please someone can i would really appreciate it

column menuOptionColumn ; row
menuOptionRow; Looks to me that you
never initialise these (they’re not
public so you can’t have done so in
the inspector). If so then the problem
with line 35 is not that you can’t
access the List within an object, it’s
that you’re trying to access a List in
an object that doesn’t exist.

Is there any reason for row and column
to be MonoBehaviours? If not then you
could just make them simple classes
and change the declarations to

column menuOptionColumn = new
column() ; row menuOptionRow = new
row(); If they do need to be
MonoBehaviours for some reason you
haven’t shown (and I have to assume
there’s something more to them as
otherwise they’re kind of pointless),
then either create them in Start()
before you try to use them (using new
GameObject followed by AddComponent)
or create a column and a row in the
inspector and drag them onto the
menuOptionColumn/Row variables in your
ButtonNav object (having made them
public).
solved by Bonfire Boy