Hallo,
einer generischen Liste gibt man per List<typ> den Typ mit. Dieser Typ kann natürlich wieder eine Liste sein, also [cs]List<List<string>>[cs]. Angesprochen wird so eine Liste mit einem Index. List[0] für die erste Liste ... List[0][0] für das erste Element der ersten Liste.
Wenn du nicht nur über einen Index die Werte ansprechen willst, sondern über einen Schlüssel, kannst du ein Dictionary verwenden. Bitte informiere dich bei MSDN wie man diese verwendet. Die Deklaration ist Dictionary<typ_des_Schluessels, value> zum Beispiel Dictionary<string, List<string>.
Gruß