Ma per collegarlo ad un array come faccio?

Ho provato con il seguente codice:

codice:
            string[] v2 = new string[100];
            v2[0] = "Bau";
            v2[1] = "Zorro";
            v2[2] = "Ciao";

            dataGrid1.DataSource = v2;
Ma il risultato è che invece delle stringhe mi visualizza dei numeri, mi prende come intestazione di colonna lenght e mi stampa la lunghezza delle stringhe, manco le stringhe stesse. Poi io avrei bisogno di aggiungere in realtà più colonne, tipo colonna "nome" e colonna "cognome", esiste qualche modo per fare un array di struct e dirgli che in una colonna deve mettere un campo ed un'altra un'altro campo? o magari potergli passare un array di oggetti con più attributi e dirgli che un attributo va visualizzato in una colonna ed un'altro nell'altra? Se si potreste farmi qualche esempio di codice che ci sto impazzendo dietro da un pò e non ci sto riuscendo..