How can I create an array of objects in C#?

Hi there. I am moving over from javascript to C# and am having difficulty understanding some of the same concepts I used in javascript. for example, In javascript I have created this code;

var array = new Array ();

array[0] = { "x": 1,
             "y": 10,
             "dialogue": "stuff",
             "show": true
            }

array[2] = { "x": 1,
             "y": 10,
             "dialogue": "stuff",
             "show": false
            }

array[10] = {"x": 1,
           	 "y": 10,
             "dialogue": "more stuff",
             "show": true
            }

as you can see, I have put an object into the indexes of 0, 2, and 10. from what I understand, you can only have variables of one type in an array in C#. could anyone show me how I could create this code in C#?

on a side note, in this code in javascipt I would iterate through the array searching for indexes which contained information by using the conditional

if (array *!= undefined)*

could this work in C#?

It seems that you could create a class like:

public class Item
{
    int x;
    int y;
    string dialogue;
    bool show;

    public Robot( int _x, int _y, string _dialogue, bool _show )
    {
	    x = _x;
	    y = _y;
	    dialogue = _dialogue;
        show = _show;
    }
}

Then, you could create getters to access these variables.

So, you could create a list like this:

public class myClass: MonoBehaviour
{
	public List<Item> items;

        void Start (){
            items = new List</item>();
            items.Add (new Item (1, 10, "stuff", true));
            items.Add (new Item (1, 10, "stuff", false));
        }
}