@Christian S.: Das hab ich wohl gesucht, aber auch nicht richitg verstanden.
Nehmen wir mal einen anderen Script:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85:
| using System; using System.Collections.Generic; using System.Text;
namespace ConsoleApplication1 { class TestGenericList { static void Main() { GenericList<int> list = new GenericList<int>();
for (int x = 0; x < 10; x++) { list.AddHead(x); }
foreach (int i in list) { System.Console.Write(i + " "); } System.Console.WriteLine("\nDone"); } }
public class GenericList<T> { private class Node { public Node(T t) { next = null; data = t; }
private Node next; public Node Next { get { return next; } set { next = value; } }
private T data;
public T Data { get { return data; } set { data = value; } } }
private Node head;
public GenericList() { head = null; }
public void AddHead(T t) { Node n = new Node(t); n.Next = head; head = n; }
public IEnumerator<T> GetEnumerator() { Node current = head;
while (current != null) { yield return current.Data; current = current.Next; } } } } |
Ich versteh das so das in der 12. Zeile eine Liste Names 'List' angelegt wird. Dann wird durch eine For-Schleife AddHead druchlaufen was den Parameter x übergibt. In der AddHead Methode wird das übergebend x zu einen t.
Nun die erste zweischen-Frage: Was hast es mit den großen
T aufsich?
Nun wird ein Objekt von Node mit n instanziert. Nun wird in der 44. Zeile die Variable next mit den übergebenden Paramter überschrieben. Die Variable(Zeile 71) head wird zu n. Und das geht dann so die ganze Zeit lang.
Dann wird wieder mit einer zweiten foreach-Schleife die Werte wieder ausgegeben...
Hab ich das so alles richitig verstanden?
