Foreach Iterationsvariable ??
- 
					
					
					
					
 Hallo bin auf meiner Suche nach der XMl ;Lösung im anderen Thread auf folgendes aus der msdn gestoßen : foreach(XmlNode node1 in node.ChildNodes) foreach (XmlNode node2 in node1.ChildNodes) if (node2.Name == "price") { Decimal price = Decimal.Parse(node2.InnerText); // Increase all the book prices by 20% String newprice = ((Decimal)price*(new Decimal(1.20))).ToString("#.00"); Console.WriteLine("Old Price = " + node2.InnerText + "\tNew price = " + newprice); node2.InnerText = newprice; //!?!?!?! }Ich dachte der foreach Iterator ist nur zum Anzeigen, nicht zum Ändern da ? Sowas geht ja, z:B. auch nicht : int[] arr = new int[12]; foreach (var v in arr){ v+=2; }
 
- 
					
					
					
					
 Hat vielleicht was damit zu tun, daß da die Iterationsvariable nur eine Referenz aufs echte Objekt ist und nicht das Objekz seberö 
 
- 
					
					
					
					
 Wo und unter was kann ich das nachlesenb ? 
 
- 
					
					
					
					
 
 
- 
					
					
					
					
 Ok, aber bzgl. der foreach schlefe, das sie referenzen ändern kann steht da nix drin oder hab ich das übersehen 
 
- 
					
					
					
					
 Tut sie ja auch nicht. 
 
- 
					
					
					
					
 Die foreach Schleife kann auch keine Referenzen ändern. foreach (var blah in blubb) { if (blah.Var > 100) blah = new Blah(); // <---- Geht nicht, sollte IIRC nen Kompilierfehler geben else blah.Var++; // Geht, da die Referenz *nicht* geändert wird sondern nur das referenzierte Objekt }
 
- 
					
					
					
					
 Geht, da die Referenz *nicht* geändert wird sondern nur das referenzierte Objekt The Jumping Point  Kapiert Kapiert 
 
 
			
			
		