TH3LL schrieb:
http://diditwith.net/2006/10/05/PerformanceOfForeachVsListForEach.aspx
Hm. Diese Resultate überraschen mich ganz extrem und ich hoffe, das das nur ein Spezialfall und nicht allgemeingültig ist, denn:
Der Testfall „for-loop with pre-determined count“ darf *nicht* schneller sein als der Testfall „for-loop“! Und zwar ganz einfach aus dem Grund, dass Hejlsberg persönlich behauptet hat, dass der .Count-Aufruf durch den JITter herausoptimiert wird, d.h. zwischen den beiden Versionen dürfte es *keinen* Unterschied geben.
Noch schlimmer wird es bei den anderen beiden Testfällen. Russel meinte, zwei calls müssten langsamer sein als ein callvirt und die Testergebnisse scheinen ihm recht zu geben. Das kann aber eigentlich nicht sein, denn in einer normalen foreach-Schleife dürfte eigentlich *kein einziger* call stattfinden: der JITter sollte diese Aufrufe nämlich ebenfalls inlinen. Und zwar *immer*. Der callvirt-Aufruf bei der Verwendung von ForEach + Delegate kann hingegen nicht ge-inlined werden, müsste demnach langsamer sein.
Ich vermute, dass die Ursache für die komische Performance woanders zu suchen ist: und zwar empfiehlt Microsoft, bei IEnumerator.Current jedes Mal einen Gültigkeitstest auszuführen, der im Kontext einer foreach-Schleife natürlich total überflüssig ist. Eventuell wird dieser Test nicht herausoptimiert, und im Fall der ForEach-Methode findet er nicht statt. Dieser extreme Unterschied verwundert mich aber trotzdem.
Zusammenfassung: Unter der Annahme, dass Optimierungen aktiviert sind, und der JITter wie erwartet seinen Job macht, würde ich mir folgende Reihenfolge bei der Laufzeit erwarten:
„for-loop“ = „for-loop with pre-determined count“ = „foreach-loop“ < „List<int>.ForEach call“
Hallo,
ich habe mir grad eine kleine MDI Anwendung gebastelt!
In der Parentform ein leeres MenuStrip Objekt platziert, und beim laden der Form per programmcode initialisiert und "bestückt"
DAs selbe bei der ChildForm.
In der ChildFom habe ich MergeAction auf MatchOnly gestellt!
Im Parent gibt es den Punkt Datei mit Neu und Beenden!
Im Child auch Datei mit Speichern und Speichern unter!
Nun möchte ich das beim öffnen des Childs das Speichern und Speichern unter zwischen neu und Beenden eingefügt wird!
Geht das irgendwie?Er setzt sie beiden immer ans Ende!
Hab ich mich nicht verständlich ausgedrückt?
Also zur Sicherheit noch einmal:
Wenn ich mittels Drag'n'Drop ein Image von einer PictureBox in eine andere "dragge" ,wie kann ich während des Vorganges das Image an der Mausposition anzeigen? (da wo jetzt das Symbol angezeigt wird; Wenn man das Image hier "droppen" kann -> Bild transparent anzeigen, wenn nicht -> Bild nicht anzeigen)
Ist ungefähr klar was ich meine?
Ich bitte um Tipps und Tricks!
Lg DragMe
Gut ok ich schau mir das an, aber es geht auch nicht wenn ich es auf Sizeable lasse. :(. Wenn ich es dann maximize rückt es sich trotzdem nich selbständig zurecht
Edit: Wenn ich ein ganz neues Projekt mache und State Maximized mache klappts mit der Sidebar wunderbar. Ich denke beim anderen gehts nicht weil das Form wiegesagt gaaaaaaaanz hinten liegt. Soll quasie ein Desktop ersatz werden
Ist schon wahr, MSDN ist eine hervorragende Informationsquelle -- wenn man weiss, welche Fragen man stellen soll.
Als Umsteiger von VB6 und C++ nach C# habe ich das Buch "Visual C# 2005 Schritt für Schritt" von Microsoft Press mit gutem Erfolg nutzen können; meine "Transfer-"Zeit hat sich dadurch auf ca. sechs Wochen reduziert.
Hallo Community,
meine Applikation hat ein (einziges) Window ohne Rahmen. Ich habe es auch geschafft, dass es zu diesem Window auch einen Taskbar button gibt, der den Namen des Window anzeigt. Das Kontextmenü dieses Taskbar-Button erschein jedoch nicht -- kein Wunder, denn das Window hat ja auch kein Menü und damit auch kein System-Menü.
Hier meine Frage:
Wie kann ich dem Taskbar-Button ein ein Kontextmenü zuordnen und die entsprechenden Ereignisse im Window auswerten? Kann mir jemand mit einem Hinweis bzw. Link auf eine Beschreibung helfen?
(Zu diesem Thema gibt es bestimmt jede Menge Dokumentation, aber ich habe sie wohl deshalb nicht gefunden, weill ich möglicherweise nicht die richtigen Suchanfragen formuliert habe)
B00nbuster schrieb:
Ihr habt doch alle keinen Plan.
Wenn du eine Zeichenoperation über ein Graphics objekt ausführst, ist das Ergebnis direkt sichtbar. Oder was meinst du was dein Refresh(), Update() oder Invalidate() bzw. WM_PAINT unter anderem machen? Sie holen (erstellen) ein Graphics Objekt und lösen das DrawItem ereignis aus. Wenn das nicht so wäre, würdest du nach einem Update gar nichts von der Zeichnerei im EventHandler sehen.
Also wenn hier einer keinen Plan hat...
wohnst Du in der Nähe einer großen Stadt? Oder zumindest in einer Stadt, mit einer Universität?
Dann geh dort in die gutsortierte Fachbuchhandlung Deiner Wahl (sind oft in der Nähe der Uni/ FH), nimm das Buch aus dem Regal und schau, mit welchem Du persönlich besser zurecht kommst.
Das ist immer besser als subjektiv- pauschale Meinungsäusserungen Dritter zu befolgen.
asdffdsa schrieb:
Dieser Link zeig absolut nicht was ich suche
Das könnte daran liegen, dass du es bisher absolut nicht geschafft hast, vernünftig zu beschreiben, was du suchst. Nur zur Info: Es gibt nicht "die" GUID einer DLL.
Da Du auf eine von funpic gehostete Datenbank zugreifen willst, warum versuchst Du es nicht einfach mal in deren Supportforum?
http://www.funpic.de/forum/webhosting/index.php?sid=01f4da2210a72129c686e1a099cef833
MAl abgesehen davon das es nicht verwunderlich ist das Datenbanken eines Servers nicht mal eben übers Internet frei zugänglich sind...
Was mir dazu einfällt ist den rich text code selbst zu bearbeiten (Rtf Paoperty). Die Rich Text Spezifikation ist, glaube ich, allerdings sehr umfangreich...
Naja... ganz zufriedenstellend ist es nicht, aber immerhin... Ich habe jetzt ein Panel drunterliegen und benenne es als Parent für alle sich darauf befindlichen PictureBoxen. Dann lade ich diesem Panel ein Hintergrundbild zusammengestellt aus den am höchsten liegenden als "hintergrund" deklarierten Elementen.
die Verschiebbaren Elemente haben zwar nun den korrekten "Hintergrund" der "Hintergrund-PictureBoxen" aber ich kann immernoch keine 2 beweglichen Elemente übereinanderschieben ohne dass die nicht "echt" durchsichtig sind.
Üm das hinzukriegen muss man wahrscheinlich jeden pixel einzeln vom darunterliegenden Objekt abfragen -.-
Trotzdem danke für die hilfe
Hallo Leute,
meine Druckerausgaben aus einer C# Anwendung bekomme ich leider nicht mehr auf einem einzelnen Blatt Papier unter und der Einsatz von "\f" interessiert meiner C# Anwendung auch nicht, deshalb meine Anfrage: Gibt es denn überhaupt ein Escape-Zeichen für einen Seitenvorschub unter C#/.NET oder muss man grundsätzlich mit Eigenschaften wie "HasMorePages" arbeiten ???
MfG ZZR-1100