C# Linq ForEach mit zwei Anweisungen

roker002

Commander
Registriert
Dez. 2007
Beiträge
2.102
Ich habe eine Frage,
wenn man auf die List<Class> ForEach anwedent, kann man ja ungefähr so vorgehen

Code:
myList.ForEach(p=>p.Location=new Point(x,y));

kann man auch zusätzlich einen weiteren Befehl hinzugeben? Irgendwie hatte ich das in der erinnerung. Ich muss einen Counter runterzählen.

Code:
myList.ForEach(p=>p.Location=new Point(x,y) && p.Counter = p.Counter-1);

Sowas..
 
Die For Each Schleife geht automatisch alle Einträge einer Liste durch, solltest du noch einen weiteren Zähler benötigen kannst du ihn problemlos innerhalb der Schleife rauf oder runter zählen lassen.
 
Deine Syntax ist leicht falsch, oder irre ich mich da?

Geht das nicht einfach mit

foreach (point p in myList){ do your stuff for p }

Keine Ahnung, in Java habe ich es früher immer mit nem Iterator gemacht, mit while(myIterator.hasMoreItems()){temp = myIterator.getNextItem(); do your stuff with temp; break;} oder irgendwie so ^^
 
Zuletzt bearbeitet:
Ja das wird roker002 bestimmt wissen;

er möchte aber anstelle des Iterators eine Linq Statement nutzen;

Nur entzieht sich mir immo der Sinn, da er eine Neues Objekt instanziert und gleichzeitg den Counter im iterierten Objekt verringert;

Ist der Counter Global zu sehen?

Aber ich muss zugeben, dass ich in der MSDN nur Beispiele auf die schnelle gefunden habe, wo ein mit Linq erzeugter Datensatz standardmäßig mit foreach iteriert wird;
 
Zuletzt bearbeitet:
Code:
myList.ForEach(p =>
  {
    p.Location = new Point(x, y);
    p.Counter--;
  }
);
 
Es handelt sich um einen Benutzersteuerelement, mit den Einträgen eines Monats. Man kann x von den elementen auf dem Form darstellen. Es geht darum, einen bestimmten Eintrag aus der Liste zu entfernen. List<MyClass> (wobei MyClass der Steuerelement ist). Die unterscheiden sich alle nach nummern, die eindeutig sind.

Eventuell ist es Falsch die Nummerierung umzustellen, da einige Funktionen auch umgestellt werden müssen.

Es reich wenn man nur den Element an die Stelle verschiebt, wo der zu entfernender Element stand.


Liste{
X
Y<- entfernen und Z an Stelle von X verschieben, und alle andere Elemente die nach Z kommen.
Z
}

grünel danke für deinen Beispiel. Ist auf jeden Fall irgend wann mal nützlich.

Meine Frage wurde gelöst Danke!
 
Zurück
Oben