Zum Inhalt springen

Archiv

Archiv für März 2010

Ja wir leben noch! Umzug gut überstanden, jedoch grad noch viel Streß, sowohl beruflich als auch privat.
Aber wir haben viele Bilder gemacht, um euch mal zu zeigen, was wir in dieser kurzen Zeit alles so geschafft haben.
Über die Feiertage wird es sicherlich etwas ruhiger! Dann kommt hier ein wenig Content, versprochen!

Grad bestimmt 20 Minuten bei der Fehlersuche drauf gegangen. Folgender Code:


List<int> _list = new List<int>();
_list.Add(1);
_list.Add(2);
_list.Add(3);
_list.Add(4);

for(int i = 1; i <= 3; i++) {
   int x = _list[i];
   _list.Remove(x);
}

Mein Code war natürlich nicht mit Integerwerten. Ich musste noch ein paar andere Sachen machen, daher war ein RemoveRange() nicht möglich.
Nun wer findet den Fehler?

Ich liste es einfach mal auf:

Durchlauf: 1 - Lösche Element 1 - Rest 2
Durchlauf: 2 - Lösche Element 2 - Rest 1
Durchlauf: 3 - Lösche Element 3 - Rest 0

Beim letzten Durchlauf wird er immer Probleme kriegen. Das Element gibt es nicht mehr. Durch Remove() rücken die Elemente in der Indizierung nach.
Es müsste also heißen:

Durchlauf: 1 - Lösche Element 1 - Rest 2
Durchlauf: 2 - Lösche Element 1 - Rest 1
Durchlauf: 3 - Lösche Element 1 - Rest 0

oder in C#-Code:

for(int i = 1; i <= 3; i++) {
   int x = _list[1];
   _list.Remove(x);
}

Vor allem wenn man in den Debugger schaut, kamen da merkwürdige Werte raus.
Ich sehe, dass die Methode „DeleteEntries()“ mit dem Count-Parameter 2 aufgerufen wird, oben zeigt mir der Debugger aber 1 an. Liegt daran, dass in der Liste bereits ein Element entfernt wurde. Somit ist also, wenn man es genau nimmt, beides richtig.

Wir sind im Moment voll eingespannt. Da wir seit heute kein Internet mehr haben und uns auch so die Zeit fehlt, werden wir das alles nach und nach hier im Blog aufarbeiten. Wir hätten sowieso keine Zeit zwischendurch zu bloggen. Wir haben aber alle Veränderungen per Foto protokolliert, von den guten und den schlechten Sachen. Noch schlechter als der Wasserschaden!

Windows 7 gruppiert ja die Fenster und zeigt ja bei einem MouseOver alle Fenster an. Beim Internet Explorer zeigt er da alle Tabs an. Manche finden es praktisch, ich hingegen nicht. Tabs sollte er da nicht anzeigen, sondern die einzelnen Instanzen. Denn sonst bin ich wieder dort, wo ich vor den Tabs war, bei Sau vielen Einträgen in der Taskleiste. Nervig ist auch, wenn du wieder schnell in den Browser wechseln willst, dann musst du erstmal ein Fenster auswählen. Opera unterstützt es nun mit der neuen Version (10.51) auch.
Abschalten könnt ihr das mit folgendem Befehl:

opera:config#UserPrefs|UseWindows7TaskbarThumbnails

Hacken rausnehmen, Speichern, Opera neustarten und alles wie gewohnt 🙂

Man kann da auch noch einige andere nette Einstellungen vornehmen!

Mir ist noch mal ein netter Vergleich zur Robinson-Liste eingefallen. Irgendwie kann man dies mit einem Nachhaltigkeitsbericht eines Unternehmens vergleichen (oder Teilen davon). So wird praktisch jedes Unternehmen damit, dass ihr Holz aus ökologischen Abbau kommt, die Mitarbeiter in Fern-Fern-Ost angemessene Gehälter bekommen und das keine Kinder zur Zwangsarbeit gezwungen werden.

Tja, dann frag ich mich, wieso die Regenwälder abgeholzt werden und die Kinder für ein Appel und ein Ei (wenn überhaupt) IPuds (Achtung verfremdet!!) zusammen schrauben.