Suchergebnisse

Suchergebnisse 1-30 von insgesamt 931.

  • Benutzer-Avatarbild

    Hi sehe ich anders. Es fordert, dass man sich Gedanken über die Gestaltung des Quellcodes macht. Die Regeln an sich sind mit Sicherheit zwar keine Instruktion zu elegantem Code, rufen aber unverweigerlich die Frage hervor "wie kann ich das so lösen, dass die Regeln erfüllt werden?" und diese fordert Reflexion über den Code, wodurch ein Grundelement der Logik gefördert wird: Dinge anders zu betrachten, um die Ecke zu denken, ein "logisches Umfeld" um etwas schaffen - und zusätzlich auch "warum wu…

  • Benutzer-Avatarbild

    Interlocked hat mit dem optionalen Parameter nichts zu tun. Du könntest ihn durch Nullable einführen, aber das finde ich ein wenig hässlich, wenn es nicht ausdrücklich eine derartige Funktionalität geben soll. Interlocked kannst du so verwenden: C#-Quellcode (7 Zeilen) Du erhältst damit eine threadsichere "atomare" Operation. Da das Erhöhen des Wertes einer Variablen den Operationen Read-Add-Write (z.B. mit Variablen a: READ a, a := a + 1, WRITE a) entspricht, können sich zwei Threads gegenseiti…

  • Benutzer-Avatarbild

    Du kannst auch innerhalb der Klasse Konstruktoren aufrufen: Statt : base(...) einfach : this(...) schreiben. Das ist an den meisten Stellen empfehlenswert, da dadurch Änderungen auch für den anderen Konstruktor übernommen werden. Beachte auch meine Bemerkung von oben. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Hi sollte _nextFreeStaffNumber nicht eigentlich statisch sein? Falls ja, solltest du unbedingt Interlocked zum Inkrementieren verwenden (d.h. du musst inkrementieren und vom Rückgabewert 1 abziehen, um das gewünschte Ergebnis zu erhalten), da es sonst nicht threadsicher ist. In deinem Code wäre _nextFreeStaffNumber stets 0 und würde zu eins inkrementiert. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Ich bin der Meinung, dass man auch, wenn man selbst nicht weiß, wie es besser geht oder sich dabei nicht sicher ist, durchaus schreiben darf, dass man es so nicht machen sollte. Auch nach der Obfuscation ist das Passwort zur Laufzeit offen im Speicher. Man unterbreche das Programm an der Stelle, die die FTP-Funktionalität aufruft und schaue sich anschließend die Infos in den Daten an. Sie liegen spätestens dann offen lesbar vor. Der Unterschied ist daher nur marginal. Wenn man sich das Protokoll…

  • Benutzer-Avatarbild

    Was mir übrigens wichtig ist, weil ich das Gefühl habe, dass der Ton dann doch etwas aggressiv ist: Es geht nicht darum, recht zu haben oder immer nur Fakten zu benennen. Es ist wichtig, sich durch Diskussionen zu bereichern und sich einzubringen. Da kann man auch mal etwas Falsches sagen oder auch mal schlechte Vorschläge machen. Was mir ein Anliegen ist, ist, dass man sich dann aber auch - zumindest wenn man das möchte - auf eine Diskussion einlässt und offen für Kritik oder Anregungen ist, se…

  • Benutzer-Avatarbild

    Hi sicherheitstechnisch ist "nicht so leicht" nicht weniger bedenklich, als "einfach". Wenn es in vertrauenswürdige Hände gegeben wird, wird das Programm nicht einfach mal auseinandergenommen, aber diese Garantie gibt es nicht. FTP (zumal FTP kein sicheres Protokoll ist, es wird von vielen Leuten die Meinung vertreten, FTP sei abzuschaffen) ist kein Protokoll, das dazu verwendet werden sollte, Daten bereitzustellen. Ich würde eher auf HTTPS oder TCP mit Sicherheitslayer (z.B. SSL) zurückgreifen.…

  • Benutzer-Avatarbild

    Remove Handler

    ~blaze~ - - Sonstige Problemstellungen

    Beitrag

    Hi du musst den Lambda-Ausdruck zwischenspeichern, damit du ihn wieder entfernen kannst. Die Zahl der Parameter wird außerdem zwar von VB.Net angepasst, aber eigentlich sollte dein Sub() zwei Parameter haben. VB.NET-Quellcode (1 Zeile) VB.NET-Quellcode (3 Zeilen) Soweit ich weiß, unterstützen die durch Lambdaausdrücke erzeugten Klassen keine solche Äquivalenz-Definition, dass du den von dir gezeigten Code darauf ausführen könntest. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Code Verkürzen

    ~blaze~ - - Sonstige Problemstellungen

    Beitrag

    Also das Ziel ist jetzt klr, aber der Grund, warum du das machen möchtest, erschließt sich mir nicht. Außerdem, wie RodFromGermany schon sagte, könnte man das auch über System.IO.File.WriteAllText machen. Das hat auch eine Überladung mit dem Encoding. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Code Verkürzen

    ~blaze~ - - Sonstige Problemstellungen

    Beitrag

    Hi oder direkt System.Text.Encoding.UTF8.GetBytes verwenden, dann erzeugst du wohl nicht jedes mal eine neue Instanz von System.Text.UTF8Encoding. Aber was genau ist das Ziel des Ganzen? Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Das was du jetzt gesagt hast, scheint mir richtig zu sein, aber das, was du oben reininterpretiert hast, ist meiner Ansicht nach falsch. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Also ich verstehe unter einem Oszillator die Generatoren, die deine Schwingungen erzeugen. Rot ist insofern für mich ein einziger Oszillator, dessen geplottete Punkte durch die grünen Punkte weiter verfeinert werden. Wenn ich es so verstanden habe, wie du meinst, verhält es sich wie Mergesort, in diesem Aspekt. Man teilt das Intervall halt in Einzelsegmente auf, da die alle unabhängig voneinander sind. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Schreibe den Algorithmus erst mal für einen Thread, es lässt sich ganz einfach auf mehrere übertragen. Sorge dafür, dass der Output in einer Liste steht. Nicht Oszillatoren einfügen, sondern Punkte. Die Null ist in deinem Fall ein Epsilonwert (z.B. 1 oder 0.5 oder was dir sinnvoll erscheint). Mit Mergesort würde ich es nicht vergleichen, aber ggf. ist dir das Prinzip schon halbwegs klar. Nimm einfach zwei Punkte (xStart, f(xStart)) und (xEnd, f(xEnd)) und gehe ausgehend von denen "rekursiv nach …

  • Benutzer-Avatarbild

    Hi dafür habe ich schon mal ein paar einfache Algorithmen entworfen. Einer davon ist, dass du eine nach X sortierte Liste von Punkten hältst und solange Punkte zwischen zwei benachbarten Punkten einfügst, bis deren Abstand unterhalb einem gewissen Intervall liegt. Das führt zwar bei Hoch- und Tiefpunkten zu Problemen, aber bei klein genugem Intervall bereits zu ganz guten Lösungen. Außerdem lässt es sich parallelisieren. Für die n-fache Parallelität dividiere das anfängliche Intervall (xStart, x…

  • Benutzer-Avatarbild

    Das Generikum auf Porsche macht nur Sinn, wenn weitere "Sub-"Porsches von Porsche erben. Du würdest einfach von Auto(Of ErweitertesFahrzeugTeil) erben. Wie du bereits bemerkt hast, unterstützt .Net bei Klassen keine Vererbung auf Generika - zumindest bei Typen. Meine Idee wäre, ein Interface zu definieren (dort kannst du auch In/Out-Generika definieren, wie das in VB genau geht, müsste ich nachlesen), sodass du angeben kannst, ob ein generischer Parameter entweder in der Ein- oder Ausgabe seine …

  • Benutzer-Avatarbild

    InterneSeriennummer beginnt mit Großbuchstaben, name mit Kleinbuchstaben. Ich werde jetzt aber nicht weiter darauf herumtrampeln, ihr habt/du hast da bestimmt eigene Regeln definiert. In der Standard .Net-naming convention werden Typen, Generika und nicht-private Member mit Großbuchstaben benannt. Was hältst du davon, dass du die Liste generisch machst? D.h. VB.NET-Quellcode (4 Zeilen) Du kannst auch zusätzlich dazu ein Interface implementieren, sodass du auch einen nicht-generischen Typen für A…

  • Benutzer-Avatarbild

    Nein, die Parameterliste darf auch leer sein. Der Konstruktor "heißt" aber genauso, wie die Klasse selbst: C#-Quellcode (9 Zeilen) Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Der Konstruktor ist das C#-Quellcode (3 Zeilen) Mit new erzeugst du eine Instanz des Typs - in unserem Fall X. Der Konstruktor wird durch new aufgerufen. Es handelt sich bei Width und Height lediglich um Eigenschaften, die bspw. ein Fenster hat. Sie heißen zwar gleich, aber es gibt zwischen CSS und C# einige fundamentale Unterschiede. Ich würde ehrlich gesagt nicht unbedingt Parallelen zwischen C# und HTML/CSS suchen, da es zwar um ein ähnliches Thema geht, aber C# eine Programmiersprache und CS…

  • Benutzer-Avatarbild

    Sehe ich nicht so. Es werden nach-und-nach die Elemente eingeführt und ich gebe mir auch Mühe, die zugehörigen Grundlagen zu vermitteln. Ich bin aber jemand, der eben genau so lernt: Ich lerne erst, was es gibt und wie es geht und danach arbeite ich mich durch all diese Dinge nochmal explizit durch Tests, Beispiele, usw. durch. Ich würde auch Sprachen so lernen: Erst Grammatik und ein gewisses Grundvokabular, damit ich all jene Dinge an einfachen Beispielen lernen kann und dann würde ich mir meh…

  • Benutzer-Avatarbild

    Ein Konstruktor ist Teil von Klassen oder Strukturen: C#-Quellcode (9 Zeilen) Man nennt ein Objekt von einem bestimmten Typ eine Instanz von diesem. Z.B. sind 1, 2, 3 Instanzen des Typs int, "bla" ist eine Instanz des Typs string. Du kannst bei obiger Klasse eine Instanz durch das new-Schlüsselwort erzeugen: C#-Quellcode (1 Zeile) Was bei new X("bla") aufgerufen wird, ist der Konstruktor der Klasse - eben jener Code, der aufgerufen werden soll, wenn eine Klasse instanziiert wird. Im Code hast du…

  • Benutzer-Avatarbild

    Es geht um die InputBox-Funktion, die ich selbst eingeführt habe. Es geht ja auch um C#, insofern gibt es die InputBox-Funktion nicht. In meinem langen Beitrag hatte ich das geschrieben, aber aus dem kurzen wird das nicht ersichtlich. Der Unterschied ist, dass ErfinderDesRades sich in Teilen nicht an die Konventionen hält, die z.B. ich so verwende (immer an der Sinnhaftigkeit orientiert, natürlich). Da ich aber zuvor die Konventionen halb ausgebreitet habe und sich ErfinderDesRades dagegen aussp…

  • Benutzer-Avatarbild

    Du musst solche Sachen einfach ausprobieren, das hilft dir viel mehr. Solche Sachen lernt man viel besser, wenn man sie direkt anwendet; die Beispiele helfen sicher beim Verständnis, aber was dann geht und was nicht, verankert sich erst beim Verwenden - selbiges bei der Sinnhaftigkeit. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Innerhalb von Methoden, ja. Außerhalb geht es auch nicht. Faulheit ist aber kein guter Grund, es zu verwenden. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Anzumerken ist, dass die Funktion int.TryParse mit dem Ergebnis der Funktion InputBox aufgerufen wird. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Danke für das positive Feedback, das freut mich sehr. Es hilft häufig, ähnliche Begriffe zu gruppieren: Ein StreamReader bearbeitet einen Stream. Dateien können als Stream dargestellt werden, d.h. EndOfStream gibt an, ob das Ende der Datei erreicht wurde. Es heißt in diesem Kontext also nur "Ist das Ende der Datei erreicht?". Es ist wichtig, dass man diese Begriffe versteht und auch die Zusammenhänge zwischen ihnen. Der Fokus lag beim Beispiel aber auf etwas anderem, es war nicht wichtig, dass d…

  • Benutzer-Avatarbild

    Rechnenproblem....

    ~blaze~ - - Sonstige Problemstellungen

    Beitrag

    Hi das Lästern sehe ich in diesem Thread nicht, sonst hätte ich interveniert, aber du darfst gerne auch derartige Beiträge melden. Wir haben nicht die Zeit, jeden Beitrag durchzulesen und sind froh über Unterstütung seitens der User. Zumeist überfliege ich die Beiträge nur. Was mir dennoch aufgefallen ist, ist, dass eine sehr negative Grundhaltung hier im Forum vorherrscht und das ist auch etwas, was mir ein Dorn im Auge ist. Ich wäre nicht unglücklich darüber, wenn die Leute sich mehr bemühen w…

  • Benutzer-Avatarbild

    Schleifen braucht man, um gewisse Instruktionen mehrmals auszuführen (nicht zu verwechseln mit einem Timer: Ein Timer führt Aktionen nach gewissen Intervallen wieder aus, eine Schleife führt ihren Inhalt streng nacheinander aus) Es gibt folgende Schleifen: - while - do-while - for - forall Die while-Schleife führt einen Code aus, solange eine Bedingung zutrifft: C#-Quellcode (2 Zeilen) Der Schleifeninhalt (statement) wird solange ausgeführt, bis die Bedingung nicht mehr zutrifft. Zum Beispiel: C…

  • Benutzer-Avatarbild

    Wie gesagt, es ist irrelevant, welches Buch du kaufst, solange es die Inhalte korrekt darstellt. Ich habe keins der Bücher gelesen, aber die dir oben empfohlene Literatur wird ja dann hoffentlich das leisten. Ich habe es halt auf die Art gelernt, dass ich, sobald ich einen Begriff nicht kannte, ihn nachgeschlagen habe. Das war zwar etwas mühsam, da es teilweise dann schon recht weit in die Materie ging, aber hat definitv zum besseren Verständnis der Sprache beigetragen, nicht nur zum "Wie", sond…

  • Benutzer-Avatarbild

    Es handelt sich hier um Meinungen, d.h. sie gehen auseinander. Es gibt auch nicht das beste Buch, da das völlig subjektiv ist. Du brauchst ein korrektes Buch, bzw. eine korrekte Lernquelle. Allerdings scheinst du bisher auch ohne zurecht zu kommen, warum also nicht diesem Weg folgen, bis du nicht mehr weiter kommst. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Die haben das halt quasi in dieser Art implementiert, aber es geht anscheinend ja nicht darum, ein Spiel zu programmieren, sondern auch die Logik dahinter. Die Aufgabe lautet ja "2D Engine [...] basteln", insofern geht es um was anderes. Übrigens bitte nicht auf zu alte Themen antworten, außer es besteht eine Frage, die nicht sinnvoller in ein neues Thema gepackt werden sollte. Ansonsten einfach einen neuen Thread eröffnen. ~blaze~: Thema geschlossen Viele Grüße ~blaze~