Suchergebnisse
Suchergebnisse 1-30 von insgesamt 934.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
Hi Nachdem ich zufällig mal wieder über's Forum gestolpert bin und das hier gefunden habe, dachte ich mir, ich schreibe auch mal ein paar Gedanken dazu. Ich habe mir nur einzelne Textpassagen meiner Vorredner durchgelesen und denke nicht, dass der Kern wirklich erfasst wurde. Es geht in meinen Augen eher um deine persönliche Entwicklung und Zielsetzung, die du im Leben möchtest. Beim Studium der Informatik - zumindest an einer Universität - geht's um mehr, als Programmierung. Man sagt nicht umso…
-
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…
-
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…
-
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~
-
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~
-
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…
-
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…
-
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.…
-
Remove Handler
BeitragHi 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~
-
Code Verkürzen
BeitragAlso 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~
-
Code Verkürzen
BeitragHi 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~
-
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~
-
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 …
-
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…
-
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 …
-
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…
-
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…
-
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…
-
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…
-
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…
-
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~
-
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…
-
Rechnenproblem....
BeitragHi 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…
-
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…
-
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…
-
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~