Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [C#] - generische Klasse Stack<> / Pop liefert nicht (https://www.delphipraxis.net/109880-%5Bc-%5D-generische-klasse-stack-pop-liefert-nicht.html)

s-off 9. Mär 2008 13:57


[C#] - generische Klasse Stack<> / Pop liefert nicht
 
Hallo zusammen,

bin gerade dabei, mich ein wenig in C# einzulesen und bin dabei auf ein Problem gestossen, dessen Ursache mir nicht klar ist.
Hier erstmal der Code:
Code:
    class programm
    {
        static void Main(string[] args)
        {
            Stack<Customer> custStack = new Stack<Customer>();
           
            Customer cust1 = new Customer();
            cust1.FirstName = "Peter";
            cust1.LastName = "Lustig";
            cust1.CustomerID = 1;

            Customer cust2 = new Customer();
            cust1.FirstName = "Petra";
            cust1.LastName = "Lustig";
            cust1.CustomerID = 2;

            custStack.Push(cust1);
            custStack.Push(cust2);

            Customer popCust = custStack.Pop();

            Console.WriteLine("Customer popped off the stack was {0} {1}", popCust.FirstName, popCust.LastName);

        }
    }
Es werden einfach zwei Objekte der Klasse Customer erzeugt und auf den Stack gepackt.
Anschliessend wird das oberste Element vom Stack geholt und die Attribute FirstName und LastName in der Console ausgegeben.

Das Problem ist nun, dass die beiden Attribute leer sind.
Ich hätte iegentlich erwartet, dass dort dann 'Petra Lustig' steht.

Könnt ihr mir auf die Sprünge helfen?

Christian S. 9. Mär 2008 14:00

Re: [C#] - generische Klasse Stack<> / Pop liefert nic
 
Du erzeugst cust2 zwar, setzt dann aber nochmal die Eigenschaften von cust1.

s-off 9. Mär 2008 14:26

Re: [C#] - generische Klasse Stack<> / Pop liefert nic
 
Args :wall:

Blödes Copy&Paste - passiert mir bei der Arbeit auch ständig :mrgreen:

Danke Dir!

Khabarakh 9. Mär 2008 15:12

Re: [C#] - generische Klasse Stack<> / Pop liefert nic
 
Dann mach's einfach so :zwinker: :
Code:
custStack.Push(new Customer {
   FirstName = "Petra",
   ...
});
(C# 3.0/VS 08 )

s-off 9. Mär 2008 16:41

Re: [C#] - generische Klasse Stack<> / Pop liefert nic
 
Zitat:

Zitat von Khabarakh
Dann mach's einfach so :zwinker: :
Code:
custStack.Push(new Customer {
   FirstName = "Petra",
   ...
});
(C# 3.0/VS 08 )

Ui, das spart aber 'ne Menge Schreibarbeit :thumb:

Die Syntax gefällt mir immer besser :-D

Bin mal gespannt, welche tollen Sachen mir mit C# noch offenbart werden. Generics sind ja schonmal eine echt feine Sache.

Dax 9. Mär 2008 17:33

Re: [C#] - generische Klasse Stack<> / Pop liefert nic
 
Zitat:

Zitat von s-off
Bin mal gespannt, welche tollen Sachen mir mit C# noch offenbart werden. Generics sind ja schonmal eine echt feine Sache.

Da du scheinbar C#3 benutzt, solltest du unbedingt mal System.Linq in deine usings aufnehmen (in System.Core.dll). Damit kannst du dann so schöne Dinge tun wie in Chrome zb:
Delphi-Quellcode:
var list := [1, 2, 3, 4, 5, 6, 7, 8, 9];

var results := from i in list where i < 4 select 10 * i reverse take 2;

s-off 9. Mär 2008 17:40

Re: [C#] - generische Klasse Stack<> / Pop liefert nic
 
Ja, benutze Visual C# 2008 und Linq ist auch eingebunden.
Das Buch, das ich habe, ist allerdings noch für C#2 - da werden mir wohl einige Sachen verborgen bleiben.

Naja, ist ja auch erstmal nur, um reinzukommen.

Macht unheimlich viel Spass - nicht so wie der klägliche Versuch vor einigen Jahren, mich mit C++ anzufreunden... :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz