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 M.L.
Thema: Namensliste in csv-Datei Vornamen alphabetisch sortieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Oder mit Python: https://www.geeksforgeeks.org/how-to-sort-data-by-column-in-a-csv-file-in-python/ (das Panda-Paket ist analog zum CsvHelper eine Fremdbibliothek)

Thema: Serialisierung von ListView
Am im Forum: Grundlagen von C#

Zitat von kstanger
Objektorientierung
...da gehört mehr dazu als "nur" ein (oder mehrere) Instanzobjekt(e) anzulegen: Rheinwerk - Openbook OOP und Rheinwerk - Openbook VC# '12 (Kap. 3)

Thema: Programm stürzt ab, oder rechnet und rechnet
Am im Forum: Grundlagen von C#

Zusatz: bei graphischer Programmierung können auch passende Bibliotheken und Möglichkeiten der Grafikkarte (GPU) genutzt werden. Sinn und Zweck der (parallelen) Berechnungen wird der Rechner aber auch nicht kritisieren.

Thema: XML-Datei auslesen
Am im Forum: Datentechnologien

Zitat
XML
...und falls (später) JSON zum Einsatz kommt: Tutorialhinweis bei dotnetpro

Thema: C#-Buch für Kiddies (noch nicht 10 Jahre alt)
Am im Forum: Buchempfehlungen

Zitat
AntMe... Schrödinger (..) relativ alt
Zusatz:
AntMe verwendet eine mittlerweile veraltete .NET Version inkl. IDE, XNA wird auch nicht mehr weiterentwickelt (Vorteil: es gibt (wohl) keine beachtenswerten Änderungen/Erweiterungen mehr)
Die aktuellste Ausgabe von Schrödinger (Rheinwerk Verlag) stammt von 2019 (C# 8)

Thema: Timer funktioniert nicht
Am im Forum: Grundlagen von C#

Zitat
static
Weiterhin: [FAQ] Für das nicht statische Feld, die Methode oder die Eigenschaft "X" ist ein Objektverweis erf. Kurzfassung: statische Methoden, Variablen,... werden zwar in einer Klasse definiert (weil die C#-Formalien es verlangen) haben mit der Klasse selbst aber (idR) nichts zu tun.

Thema: Ich habe noch immer mit den .NET Core Nachfolgern Probleme
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat
Skriptsprache ... direkt mit dem Befehl losgelegt.

Bei einer Skriptsprache hat man idR weniger Formalien einzuhalten bis zum Programm, verzichtet aber auch auf Sicherheiten und andere Aktivitäten im Hintergrund. Z.B. Datentypgarantie oder das nur die geänderten Teile eines Programms interpretiert (eher: kompiliert) werden. Aber auch hier gibt es Entwicklungen, siehe youtube, MouseVsPython, "Python 101 - Type Hinting in Python"

Thema: C#-Buch für Kiddies (noch nicht 10 Jahre alt)
Am im Forum: Buchempfehlungen

Etwas billiger: ein C#-Compiler erwartet gewisse syntaktische Formalien (z.B. das die Definition von Variablen oder Methoden immer innerhalb einer Klasse erfolgt), die auf jeden Fall einzuhalten sind und zum laufenden Programm führen. Aus menschlicher Sicht haben Empfehlungen wie z.B. Coderichtlinien, Aufteilung in versch. Schichten,... Sinn (erleichtern das Lesen/Schreiben von Code, erleichtern das Erweitern/Ändern von Code,...)

Thema: Ich habe noch immer mit den .NET Core Nachfolgern Probleme
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Grundsätzlich funktionieren das Herunterladen und Entpacken der zip-Datei, sowie das Anlegen und Starten einer Konsolenapplikation: .NET Tutorial | Hello World in 5 minutes (s.a. Screenshot im Anhang)

Thema: MVC Daten gehen über mehrere Daten verloren
Am im Forum: Web-Technologien

Zitat
Hidden Fields gebrauchen soll.
Damit könnte man -auch in Kombination mit z.B. Captchas oder Rechenaufgaben- ungewünschte Fremdeingaben (z.B. via Selenium, PlayWright,..) verhindern.

Thema: Performance verbessern
Am im Forum: Grundlagen von C#

..und noch eine Vorgehensweise (die beim Laden von Internetseiten Sinn haben kann): erst das Control überhaupt darstellen lassen, danach in der gewünschten Formatierung.

Thema: Form/Control.Width abfragen?
Am im Forum: Grundlagen von C#

Zwecks eines Erfolgserlebnisses (weitere Optimierungen oder "best practices" bleiben aussen vor): man erstellt wieder eine Windows Forms GUI-Applikation und platziert dort einen Button. In der _click-Methode dann:

 private void button1_Click(object sender, EventArgs e)
        {
           
            Form1 myForm = new Form1();
            int aktuelleBreite = myForm.Width;

            
            Console.WriteLine("aktuelleBreite :" + aktuelleBreite);
          
            Console.ReadLine();
        }
 
Ausgabe im Debuggen: "WindowsFormsApp_Console_Resolution.exe" (CLR (..)
aktuelleBreite :816
(..) beendet.

Thema: API Konzept Middleware oder Internal API
Am im Forum: Web-Technologien

Zum Thema API kann man (auch) unter dem Twitterkonto @Rapid_api Material in Comic- oder Tutorialform recherchieren: https://mobile.twitter.com/Rapid_API

Thema: Mit C# Ausmaße des aktuellen Bildschirms ermitteln
Am im Forum: Grundlagen von C#

Zitat
Oberfläche zusammenzuklöppeln,
Evtl. hat VS auch Container anzubieten, welche sich (im Hintergrund) um die Initialisierung, Ansprache, Formatierung, Funktionalität,... der untergeordneten Elemente kümmern. Im konkreten Fall z.B. eine DataGridView mit mehreren Spalten und DGVComboBoxColumn als ColumnType (s. Anhang)

Thema: Mit C# Ausmaße des aktuellen Bildschirms ermitteln
Am im Forum: Grundlagen von C#

Weiterhin kann man sich z.B. ein Windows Forms Projekt anlegen und die gewünschten Ergebnisse auf der Konsole (o.ä) ausgeben lassen. Einen einfachen Button auf einer WinForms GUI platzieren und dessen _Click-Methode erweitern könnte so aussehen:

private void button1_Click(object sender, EventArgs e)
        {
            int Width = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width;
            int Height = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height;
            Console.WriteLine("Width :" + Width);
            Console.WriteLine("Height :" + Height);
            Console.ReadLine();
        } 
Ausgabe (z.B.) nach Klick auf "Run" beim Debuggen:
...
Width :1280
Height :1024

Allerdings sollte man erst auf Kommandozeile üben, später dann im GUI-Bereich

Thema: Ein Neuer - bei C#?!
Am im Forum: Smalltalk

Zitat
Buch ... Website
Grundsätzlich kann man über jede Informationsquelle auf Verhaltensweisen (in Form von z.B. C#-Programmiertechniken) stossen, die aufgrund neuerer Entwicklungen (nicht mehr) empfehlenswert sind, ein Bspl. aus den FAQ zu Boxing und Unboxing. Eine Neuerung ist z.B. der "Github CoPilot", aber hier besteht (noch) die Gefahr das ungetester oder (aus menschlicher Sicht) nicht verständlicher Code verwendet wird.

Thema: Ein Neuer - bei C#?!
Am im Forum: Smalltalk

Weiterhin achtet der C#-Compiler auf die Einhaltung diverser syntaktischer Formalien, z.B. das alles (Objekte, Methoden,...) Bestandteil irgendeiner Klasse ist, Datentyp-Sicherheit, Einsatz von öffnenden und schliessenden Klammern,...

Thema: Probleme beim Lösen einer Hausaufgabe zum Umgang mit StreamWriter
Am im Forum: Grundlagen von C#

Zitat
Bitte Beitrag nicht löschen
Nebenbei: den Original-Beitrag auch nicht selbst editieren (vor allem nicht am Code), da das Startproblem (inkl. erfolgter Antworten) so nicht mehr nachvollzogen werden könnte. Und längerfristig -v.a. bei komplexeren Software-Produkten- könnte der Einsatz eines Versionsverwaltungssystems (Git(hub),...) erwägenswert sein.

Thema: Wie am besten nach Entwicklern suchen?
Am im Forum: Smalltalk

Zusätzlich kann es viele objektive und subjektive Gründe haben, warum sich eine Person (nicht (*)) auf eine Stelle bewirbt oder Unternehmen eine Stelle (konsequent) unbesetzt lassen (letzteres kann Sinn haben, wenn eine Fehlbesetzung effektiv mehr Ärger macht als ein Freilassen)

(*)die verwendeten Technologien und Vorgehensweisen könn(t)en zu alt oder zu wenig verbreitet sein. Falls Veränderungsdruck besteht, könnte der Zug anderweitig abgefahren sein...

Thema: Prgrammcode optimiert erstellen?
Am im Forum: Grundlagen von C#

Zitat
Muskelmasse .. Waffe
Rateversuch: Schrödinger programmiert C# (~750 Seiten)

Thema: Namespace Begriffserklärung
Am im Forum: Grundlagen von C#

Zitat
trocken
Wenn man den (längerfristigen) Nutzen diverser Vorgehensweisen nicht erläutert bekommt, kann das sogar stimmen...

Code-Konventionen erleichtern das Schreiben oder Lesen eigenen oder fremden Codes
Namespaces wurden schon erläutert (Zusatz: Eigenrecherche "C/C++ diamond problem")
Klassen diesen zum Herstellen von Zusammenhängen von (strengbetrachtet irgendwelchen) Daten und Methoden (Quelle: YT, thenativeweb - "Warum OOP (objektorientierte Programmierung) überbewertet ist")

Thema: Einsteigerfragen: Erstes Windows Formsprogramm
Am im Forum: GUI: Windows-Forms

Weiterhin bedeutet eine neuere .NET Runtime 5+ auch ein verändertes Verhalten bei z.B. Strings und Unicode: Behavior changes when comparing strings on .NET 5+

Thema: Einsteiger: Lösungsweg für Problem?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
- Strukturen dafür zu verwenden? Oder besser Klassen?
Es gibt interne Unterschiede zwischen "Structs" und "Classes", z.B. Link zur MS-Doku

Thema: Wie lagert man Code bei WPF aus?
Am im Forum: Grundlagen von C#

Zitat
auslagern
Hierbei könnte man die Teile der Software mit keinem oder geringem Änderungs-/Erweiterungsbedarf in einer Datei (z.B. dll) zusammenfassen und die restlichen Teile jeweils separat auslagern (dll, Interfaces, Module,...)

Thema: Buch zum Thema WPF gesucht
Am im Forum: Buchempfehlungen

Weiterhin könnte man Avalonia UI mal betrachten (neben Konzepten, die für effektive WPF-Programmierung elementar sein könnten)

Thema: Wozu verwendet man Interfaces und abstrakte Klassen
Am im Forum: Grundlagen von C#

Zitat
Architektur
Einfacher Grundsatz: man fügt die sich nicht (oder kaum) ändernden Teile der Software zusammen, sich schneller ändernde Teile werden ausgelagert (z.B. durch Interfaces). Und DIE Architektur gibt es nicht, siehe auch die Videos unter Folgen chronologisch (z.B. 111, 109, 92). Und was Englisch betrifft höre man die Ausführungen eines ehemaligen mycsharp-Mitglieds: YT - thenativeweb, "Programmieren auf Deutsch?!"

Thema: Wozu verwendet man Interfaces und abstrakte Klassen
Am im Forum: Grundlagen von C#

Zusätzlich kann man beim Verwenden mehrerer abstrakter Klassen auf das sogenannte "diamond problem" stossen (Java oder C# erlauben deswegen 'nur' einfache Vererbung). Interfaces machen effektiv Sinn, wenn man häufig(er) Änderungen oder Erweiterungen (z.B. bei der Menge an zu verwendenden Datenbanken oder deren Abfrageoperationen) implementieren und nutzen muss.

Thema: C# Transaktion aufrufen, ohne neue Anmeldung
Am im Forum: GUI: Windows-Forms

Für C# (& SAP) gibt es nach wie vor ERPConnect

Thema: Von der Idee zum Modell
Am im Forum: Smalltalk

Zitat

das CQRS-Entwurfsmuster
siehe z.B. bei thenativeweb & YT: https://www.youtube.com/watch?v=nDSwyowKYP8 und https://www.youtube.com/watch?v=r0xWHh2u--A (aber am Beispiel "Microservices" sollte man anmerken, dass man ein Architekturprinzip nicht "auf Teufel komm raus" auf jede x-beliebige Situation anwenden soll(te))
Zitat
Wege, wie ich diese erreichen kann.
Man identifizert im Vorab die Teile der Software, die kaum (oder selten) geändert werden und fügt diese zusammen. Teile mit höherer Änderungsrate werden ausgelagert oder abstrahiert, z.B. durch Interfaces

Thema: Von der Idee zum Modell
Am im Forum: Smalltalk

Zitat
solide Applikation zu entwickeln?
Weiterhin hat der Verweis auf die Drei-Schichten-Architektur einen tieferen Sinn: damit können (häufige) Änderungen / Erweiterungen an der Software nur an einer (zentralen) Stelle im Code vorgenommen werden (immerhin *könnten* weitere DB'en ins Spiel kommen, an der Verarbeitungslogik könnten Änderungen nötig werden, andere UI's wollen benutzt werden,...)