Wypisywanie elementów z List<T>

0

Uczę się C# i napotkałem pewien problem, zapewne dość prosty. Tworze sobie klasę generyczną i tworzę takie elementy.

var a = new GenericClass<int,string>(23, "lalal");
var b = new GenericClass<int,string>(21, "bbb");
var c = new List<GenericClass<int,string>>() { a, b };

Jak dostać się do któregoś elementu(int, albo string) a z obiektu c? Starałem się szukać czegoś na forach, z tego co się dowiedziałem należy dziedziczyć interfejs IEnumerable? Wiem do czego służą interfejsy, ale przecież one nie zawierają implementacji, więc nie widzę powodu ich stosowania. Nie jest to dla mnie jasne, mógłby mi to ktoś wyjaśnić?:)

1

Co do samych list:
http://www.dotnetperls.com/list
Tam masz ładnie opisane co i jak, i nie ważne co zawiera, tak samo się dobierasz do tego. (oczywiście później inaczej traktujesz obiekt jakiejś klasy a inaczej typy proste, ale to oczywiste)
Co do dziedziczenia IEnumerable - to tak, jeśli chcesz stworzyć własną kolekcję, np zamiast listy. I owszem to interfejs, więc później wypadałoby go zaimplementować, ale też zaimplementować inne rzeczy, dotyczące zachowania Twojej własnej kolekcji, między innymi sposobu przechowywania wewnątrz niej.
http://stackoverflow.com/questions/11296810/how-do-i-implement-ienumerablet
Tam masz przykład, ale wewnętrznie korzysta z listy :)

0

Wtf?
O takie coś Ci chodzi?

using System;
using System.Collections.Generic;

public class Test
{
	class Foo<TA, TB> {
		public TA First { get; set; }
		public TB Second { get; set; }
	}
	
	public static void Main()
	{
		var fooOne = new Foo<string, int> {
			First = "fooOne",
			Second = 123
		};
		var fooTwo = new Foo<string, int> {
			First = "fooTwo",
			Second = 321
		};
		var foos = new List<Foo<string, int>> {
			fooOne,
			fooTwo
		};
		
		foreach(var foo in foos) {
			Console.WriteLine("String: {0}, Int: {1}", foo.First, foo.Second);
		}
	}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1