Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von chilic
Thema: Statistik in Konsole ausgeben
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Den running Gag, dass man jemandem der noch so gut wie nichts kann mit LINQ kommt, haben wir jetzt ja auch mal wieder hinter uns. Jetzt etwas tatsächliche Hilfe.

Tip mit der Klasse ist klasse :-) Setz das um, dann ist der Code gleich viel sprechender.

Dann mach dir eine for-Schleife die über alle Umsätze läuft und sich den höchsten davon merkt. Der hat die halbe Bildschirmbreite.
Für die anderen Umsätze kannst du dann mit dem Dreisatz ausrechnen wie breit die jeweils sein sollen.

Thema: Best Practice Sortierung
Am im Forum: Rund um die Programmierung

Wenn nur verschoben und nicht eingefügt/gelöscht wird, musst du beim Verschieben nur die Sortierungen vom Einfügepunkt bis zum Endpunkt anpassen.
for i von Min(Anfangsposition, Endposition) bis Max(Anfangsposition, Endposition) setze Sortierwert = i

Thema: Wert aus Bedingung außerhalb verfügbar
Am im Forum: Grundlagen von C#

Die Variablen müssen in diesem Fall eben global gemacht werden. Oder es wird eine Methode für das SQL erstellt, in die man die Variablen als Parameter übergibt.
Wie das SQL ausgeführt wird ist für die eigentliche Frage nicht entscheidend. Wohl aber für den nächsten Schritt, nämlich dass man eine saubere Abfrage bekommt.

Thema: C# Nachhilfelehrer gesucht
Am im Forum: Smalltalk

Es ist ein Unterschied zwischen
* Ich soll dies und das machen, Code bitte.
* Ich soll dies und das machen und hänge an einem bestimmten Punkt.

Thema: Threadsicherheit in Get und Set bei statischen Eigenschaften
Am im Forum: Grundlagen von C#

Was ich interessant finde, dass einige Antworten eingehen obwohl bis zur Erklärung nun wirklich niemand wissen konnte was da "nicht funktioniert" ;-)

Thema: Zeilen in eine Liste einlesen bis Zeichen XYZ
Am im Forum: Grundlagen von C#

C# bietet vieles was man grundsätzlich mit Strings machen wollen könnte. Diese Aufgabe ist allerdings "zu speziell" als dass C# dazu eine eingebaute Methode hätte. Aber wie du ja siehst, ist das schnell selbst programmiert.
(Ich hoffe das beantwortet deine Frage - falls nicht, bitte genauer erklären was du wissen möchtest)

Thema: Rest der Zeile entfernen ab Zeichen
Am im Forum: Grundlagen von C#

Die Stelle eines Zeichens bekommst du mit IndexOf.

Deine Beschreibung verstehe ich nicht. Ab dem X willst du den Rest der Zeile inklusive dem N löschen. Später willst du aber ab dem N löschen?

Thema: CheckBox - Textumbruch beim AutoSize = 'False'
Am im Forum: GUI: Windows-Forms

Ich glaube da ist ein Bild hilfreich. Ich wüsste nämlich gerade nicht wo links Platz entsteht wenn Text umbricht.

Thema: Alle möglichen IP Adressen anhand eines Netzwerks rausfinden
Am im Forum: Netzwerktechnologien

Dein Problem ist die Herangehensweise -> "ich bin auf der Suche nach einer Library".
Als erstes sollte man bei solch kleinen Dingen danach suchen wie Netzwerkadressen gebildet werden und sich überlegen ob man sich ein Snippet dazu sucht das man in den Code einbaut, statt eine Library dafür einzubinden ;-)

Thema: Freistellen eines Bitmap klappt bei einigen Bildern nicht
Am im Forum: Grafik und Sound

Sind die Werte für die neue Bildgröße schlüssig? Vergleiche sie mit dem Bild was als Resultat herauskommt. Dann siehst du ob deine Crop Routine nicht passt, oder ob die neue Bildgröße schon nicht stimmt.
Wenn die Methoden zur Gesichtserkennung schon unsinnige Werte zurückgeben, kann natürlich kein sinniges Bild mehr herauskommen.

Und wie gesagt, dass das immer nur bei der Auflösung von 96 funktioniert ist wirklich komisch. Die Auflösung hat meiner Meinung hier überhaupt nichts zu suchen.

Thema: Freistellen eines Bitmap klappt bei einigen Bildern nicht
Am im Forum: Grafik und Sound

Vorweg ich hab zu Gesichtserkennung überhaupt keinen Einblick.

Mich wundert dass hier die Auflösung des Bilds eine Rolle spielen soll. Sollten das nicht alles absolute Pixelangaben sein? Da sollte es völlig irrelevant sein welche Auflösung man dem Bild andichtet, die es später vielleicht beim Ausdruck oder sonstiger Darstellung haben soll.

Thema: Berechnung von Primzahlen mit dem Sieb des Eratosthenes - Performancesteigerung möglich?
Am im Forum: Rund um die Programmierung

Du beginnst mit zahl bei 0, wirst aber nur aktiv wenn zahl ≥ 1 :-)
Sofern das nicht sowieso raus optimiert wird, sparst du dir schon mal einen Vergleich pro Durchlauf, wenn du direkt bei 1 beginnst. Und du sparst dir optisch eine Einrückungsebene.

ConvertToInt64 brauchst du auch nicht, liest sich nur schwer aber der Compiler wandelt dir das automatisch um.

Was ich mir jetzt alles überlege, bitte selber noch nachprüfen.

Was genau soll in primzahl stehen? So wie ich das Sieb verstehe, markiert es Zahlen. Wäre also ein Array von bool Werten statt Zahlen?
Ich würde primzahl[ i ] nicht mit i+1 füllen, sondern mit i. Sonst kennt sich keiner mehr aus.
Das führt dann dazu dass du nicht mehr primzahl[zahl] auslesen musst was einen Zugriff auf das Array bedeutet, sondern du bei der Prüfung auf != u und der Rechnung mit % direkt zahl verwenden kannst.
Nur für primzahl [zahl] != 0 brauchst du noch das Array, denn das prüft die Markierung der Zahl, statt den Wert selbst.

Zu if (primzahl[zahl] % u == 0) was mit sinnvolleren Zuweisungen das selbe ist wie if (zahl % u == 0).
Die % Rechnung wird nicht Null, wenn zahl < u. Du kannst also die innere Schleife bei u beginnen, statt bei 0. Das spart einiges an Durchläufen.
Wenn du die Schleife erst bei u+1 beginnst und den Fall zahl == u separat in der äußeren Schleife behandelst, kannst du den Test primzahl[zahl] != u auch weglassen.0

Ein weiterer Ansatz: Das Sieb markiert Vielfache einer Zahl.
Du durchläufst JEDE Zahl und prüfst mit % ob sie ein Vielfaches von u ist. Das funktioniert zwar, ist aber sehr viel Aufwand. Für u = 1000 findest du ein Vielfaches und prüfst dann die nächsten 999 Zahlen ebenfalls, obwohl die kein Vielfaches sein können. Für u = 10000 prüfst du 9999 andere Zahlen ohne Ergebnis.
Also beginne die innere Schleife bei zahl = u und dann nicht mehr zahl++ sondern zahl += u. Dann brauchst du die % Operation nicht mehr und kannst ohne weitere Prüfung primzahl[zahl] = 0 setzen.

Thema: c# Datum umwandeln?
Am im Forum: Grundlagen von C#

Als welcher Datentyp ist denn das Datum in Win32_OperatingSystem gespeichert?
Dieses ToString überall finde ich eine Katastrophe, machen anfangs alle. Alles was man hat wird in einen String gewandelt und dann wieder mühsam zurück.
Wenn die Tabelle Win32_OperatingSystem sauber angelegt ist, ist das Datumsfeld bereits ein Datum und muss nur noch passend gecasted werden.

Thema: Mehrere Bildschirme ermitteln und getrennt! anzeigen und die echte Auflösung ermitteln
Am im Forum: Rund um die Programmierung

Zitat
Das mit dem "screen.Bounds" ist echt gemein. Mit großen "Screen" wird das nämlich nicht angeboten.
Was ist gemein und was wird nicht angeboten?

Thema: Mehrere Bildschirme ermitteln und getrennt! anzeigen und die echte Auflösung ermitteln
Am im Forum: Rund um die Programmierung

Zitat
Ich denke das liegt am "Screen.PrimaryScreen.Bounds.[...]"

Wenn du nur nach dem ersten Bildschirm fragst, bekommst du in der Tat auch nur den ersten zu sehen.
Zitat
screen.Bounds.ToString());" zeigt es richtig an, aber in einer Art und Weise, wie mir das nicht gefällt (Siehe Anhang)

Mal ne irrwitzige Idee, was wenn du die Ausgabe in der Form die du haben willst ganz einfach nicht immer nur mit dem selben Screen.PrimaryScreen.Bounds.Width machst, sondern mit dem aktuellen screen.Bounds.Width?

Thema: Programm soll nichts tun, bis Rechner online ist
Am im Forum: Code-Reviews

Was macht der Ping wenn er keine Antwort kriegt, fällt der dann wirklich in eine Exception oder gibt das einen Status zurück?
Dann wäre dein Programm nämlich weit davon entfernt "nichts zu tun", weil es dann permanent ständig pingen würde :-)

Thema: TextBox - fehlendes erstes Zeichen
Am im Forum: GUI: WPF und XAML

Zitat
laut Einzelkschritt wird die "1" aber in "Wert" geschrieben...
Und was passiert wenn du weiter tippst mit dem Wert?

Den Ausdruck "if ((value % 1) > 0)" finde ich interessant. Da sollte ein Kommentar ran, der aussagt was das soll.

Length == 3 wird nur aktiv wenn genau drei Nachkommastellen eingegeben werden. Was wenn jemand eine Zahl mit 5 Nachkommastellen hineinkopiert?
Machs lieber etwas überschaubarer, zum Beispiel teste ob 100 * value noch Nachkommastellen hat.

Thema: Pre-, Post- und inorder Traveriserung von Graphen
Am im Forum: Rund um die Programmierung

Zitat
Und wieso werden die drei Algorithmen (sind ja alles eine Form der Tiefensuche) haupsächlich für Bäume erklärt?
Ein Baum ist ein Graph mit vielen Einschränkungen. Es gibt nur genau einen Einstiegspunkt, eine definierte Richtung (Pfeil bei der Verbindung) und keine Zyklen. Beim Binärbaum hat ein Knoten maximal zwei Nachfolger, so dass man von links und rechts sprechen kann und die Nachfolger somit auch geordnet sind (z.B. links ist immer kleiner als rechts).
Ein allgemeiner Graph kann bidirektionale Verbindungen und Zyklen haben und seine Nachfolger haben auch nicht unbedingt eine Sortierung.

Preorder und Postorder besuchen die Nachfolger beim Binärbaum entweder alle vor dem Knoten oder alle nach dem Knoten. Das lässt sich von den zwei Nachfolgern beim Binärbaum leicht auf sonstige Anzahlen an Nachfolgern erweitern. Dann sind es eben nicht zwei Teile die man alle vor/nach dem Knoten besucht, sondern mehr.

Inorder besucht den Knoten genau zwischen dem linken und dem rechten Nachfolgerknoten. Das "zwischen" wird beim beliebigen Graphen schwer, denn der hat nicht nur (maximal) zwei Nachfolger.
Natürlich kannst du dir eine Strategie überlegen die "inorder" funktioniert. Zum Beispiel indem du den Knoten selbst immer nach dem ersten Nachfolgebaum untersuchst (egal wie viele noch kommen), oder immer vor dem vorletzten, oder immer nach der Hälfte oder was dir eben einfällt.

Thema: Anzahl Checkbox checked als Wert für for Schleife
Am im Forum: Grundlagen von C#

Zitat
Hiermit bekomme ich den Wert weiß aber nicht wie ich das der Schleife übergeben kann, weil ich daraus nicht Length entnehmen kann.
Ist nicht das i das du hier erhältst schon genau diese Anzahl?

Nächster Punkt. Dein Code sieht für mich aus als bräuchtest du nicht nur die Zahl der angehakten Checkboxen, sondern solltest auch wissen welche das sind.
Also solltest du trotzdem alle durchlaufen und in der Schleife aber nur diejenigen berücksichtigen die Checked sind.
Sonst würdest du bei einer angehakten Checkbox mit dem Zähler 1 in deine Schleife gehen und *immer* nur Textbox 0 ansprechen, *egal welche Checkbox* angehakt ist.

Statt dem Gebastel mit den Namen könntest du alle Checkboxen und Textboxen jeweils in ein Array oder eine Liste packen. Dann kannst du mit Index auf diese Elemente zugreifen und brauchst nicht ständig mit Controls.Find hantieren.

Dann *irgendwann später* wenn du verstanden hast was du da tust und wie man Listen, Array etc. benutzt, kannst du dir ansehen was Databinding und Linq ist.
Aber bitte alles der Reihe nach verstehen. Kein Arbeitgeber will von dir hören dass du weißt wie man Linq schreibt und deshalb nicht mehr wissen musst was ein Array ist.

Thema: Warum kann ich Enum kein Int zuweisen?
Am im Forum: Grundlagen von C#

Da du die Variablen nicht als Zahl deklariert hast sondern als Weekday, will der Compiler dafür auch ein Element der Aufzählung haben.
Du könntest das casten als (Weekday)1, dann geht das. Aber dann nimmst du dir den Vorteil, sofort sehen zu können welches Aufzählungselement das ist.
Soweit dazu warum die 1 nicht ohne ausdrücklichen Cast akzeptiert wird.

Warum die 0 dann doch funktioniert, könnte daran liegen dass eine solche Variable mit einer 0 vorbelegt wird wenn du nichts anderes angibst. Daher könnte es sein dass der Compiler erkennt, da passiert ja nichts was ohne diese Zeile nicht auch passieren würde, und er deswegen die Zuweisung hinnimmt.

Thema: Parameter Count aus einer DLL Methode
Am im Forum: Rund um die Programmierung

Mal angemerkt, selbst wenn man rausfinden könnte *wie viele* Parameter eine Methode/Funktion hat, weiß man ja immer noch nicht *welche* das sind.
Würde also nicht sehr viel bringen, denn man hat dann immer noch keinen Hinweis darauf was man da nun übergeben soll.

Thema: Weiteren Task starten während der andere noch beschäftig ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Klar, wenn du auf beide wartest wird auch auf beide gewartet :-)
Erstelle die zwei Tasks nur einmalig und lass die selbst in einer Schleife schauen ob noch was in der Queue ist.

Zitat
"Queue ist gesperrt"
Eigentlich ist die Queue hier ja *nur* leer, aber nicht gesperrt.

Thema: MySQL Where mit Wert aus WPF übergeben
Am im Forum: Datentechnologien

Das nicht gefundene Element heißt jetzt anders, aber das Problem ist dasselbe. Nämlich die Klasse Jahrgaenge weiß nicht was listFach sein soll, denn das Object das so heißt gehört zu einer anderen Klasse.
Lösung: Gib den zu suchenden Wert als Parameter in die Methode Load() hinein.

Thema: MySQL Where mit Wert aus WPF übergeben
Am im Forum: Datentechnologien

Zitat
Das hier übergebe ich an das WPF Formular.
Was? Du zeigst eine Methode, die nichts übergeben bekommt.
Zitat
Die fachID kommt vor.
Da kommt eine Variable namens fachID vor. Aber nicht FachID.Text so wie in deinem ersten Beitrag gezeigt.

Ein Zusammenhang deines zweiten Beitrags mit dem ersten ist nicht erkennbar.

Thema: MySQL Where mit Wert aus WPF übergeben
Am im Forum: Datentechnologien

In der Klasse Jahrgaenge gibt es nichts das FachID heißt.
Du brauchst an dieser Stelle die Instanz des WPF Formulars, denn die kennt das Element namens FachID.

Noch schöner wäre es wenn du den Text aus FachID als Parameter in die Load() Methode übergibst.
Dann muss diese Methode nicht mehr wissen woher dieser Wert stammt. Einer Methode die Daten lädt sollte das nämlich egal sein können.

Thema: Zugriff auf PLC Variablen
Am im Forum: Rund um die Programmierung

Es könnte hilfreich sein wenn du die ganzen Begriffe erklärst. Was ist CPU1500, was TIA? Was tut man wenn man eine "PLC Variablen Tabelle projektiert"?

Thema: Get-Funktion zieht Wert nicht
Am im Forum: Grundlagen von C#

Ja das außerdem! Darauf hab ich gar nicht geachtet.
Wichtig ist also wirklich, debuggen! Anschauen was passiert.
Sonst leitet einen die völlig unbegründete Annahme "alles funktioniert wie es soll, aber ein get funktioniert nicht" in die völlig falsche Richtung.

Thema: Get-Funktion zieht Wert nicht
Am im Forum: Grundlagen von C#

Bist du sicher dass überhaupt eine Nullstelle berechnet wird?
Zum einen läufst du in Einerschritten über das x. Da muss die Funktion schon passend gewählt sein, um überhaupt Nullstellen zu finden die genau auf diesem Einserraster liegen.

Zum anderen ist die interne Darstellung von Kommazahlen eine komplexe Sache, da gibt es kleine Ungenauigkeiten durch Rundungsfehler, die man bei der gerundeten Ausgabe zwar nicht sieht, die aber trotzdem da sind.
Nehmen wir an du kommst mit dem x wirklich auf eine Nullstelle. Durch die Art und Weise wie ein double dargestellt wird, ist das Ergebnis aber nicht genau 0, sondern vielleicht 0,0000000012345.... Dein Test auf exakt Null findet die exakt-Null daher nicht.

Schau dir mit dem Debugger an was da genau passiert und ob überhaupt eine Nullstelle gefunden wird.
Wenn das der Fall ist, sollten die Werte vom get auch zurückgegeben werden.

Thema: Abstrakte Klasse innerhalb einer anderen Klasse
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Abgesehen von Sinn oder Unsinn dieses Vorhabens, aber wenn die Umsetzung dieser Klassen in der selben Firma erfolgt, sollte doch eigentlich eine Teambesprechung ausreichen um die Programmierung einheitlich zu gestalten ;-)

Thema: Abstrakte Klasse innerhalb einer anderen Klasse
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich vermute die *public* InnerClass wird nicht sehr hilfreich für einen Anwender deiner Basisklasse sein. Denn wer die Basisklasse nutzt, will in der Regel nicht wissen welche abgeleitete Klasse tatsächlich dahinter steckt und kann daher auch nicht auf die jeweils spezielle InnerClass zugreifen.
Daher ist es für den Anwender der Basisklasse egal wie diese Klasse heißt.

Dem Autor der abgeleiteten Klassen würde ich auch keine solchen Vorschriften machen, selbst wenn ich könnte. Der soll das nutzen was er braucht und wie er es braucht. Vielleicht braucht eine abgeleitete Klasse mehrere innere Klassen, oder auch mal gar keine.
Oder der Autor möchte die innere Klasse(n) in verschiedenen Ableitungen ausdrücklich verschieden benennen, um zu zeigen in welcher Ableitung er sich gerade befindet. Im Beispiel der Datenbankklassen vielleicht einmal MysqlInnerClass und dann SqlserverInnerClass oder PostgresInnerClass.