C# array append in realtime

I’m trying to make something like… if i hit any key or click any button on screen, script should add one item to existing array… of course it should also increase length of array by 1. As " Array.length " is read only i can not get any way to do it… also Array.add not working in C#.
public class Arrays : MonoBehaviour {

	public int[] Exarray;

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {


		if (Input.GetKey (KeyCode.LeftAlt)) {
		
			Exarray.add(2);
						print ("Array length is " + Exarray.Length);
				}
	}
}

Now what i want is each time i press “left alt” it should print 1,2,3,… as i want to append elements in array… its length should increase each time… I DONT WANT TO DEFINE LENGTH OF THE ARRAY AT START… I WANT TO Modify IT ON THE GO… IS THERE ANY WAY TO DO THIS???

Use a generic List instead of an array. An array has a fix size

http://wiki.unity3d.com/index.php?title=Which_Kind_Of_Array_Or_Collection_Should_I_Use?