Hallo Leute, ich bin der Andy und bin 38 Jahre alt.
Ich komme ursprünglich aus dem Bereich Python(QT, FrontEnd) und PowerShell;
Nur reichte mir die Leistung nicht mehr aus, um so größer ein Projekt war, um so langsamer wurde es...
Aber mein eigentliches Problem ist, der Umstieg auf C# ist schon etwas schwer...
Und klar weiß ich wie ich zb. (Schleifen, Methoden, Statments, enums etc.) funktionieren.
Da fällt es mir trotzdem schwer, das umdenken...
Habt ihr da vielleicht ein paar Tipps?
Und ich hoffe, das es hier ruhiger zugeht, wenn man mal fragen hat.
Im Vergleich zum Python-Interpreter achtet der C#-Compiler stärker auf syntaktische Formalien (im Sinn von (immer (*)) zu schreibendem Code), "code intendation" ist egal.
Im Minimalfall: -alle definierten Variablen, Methoden,... sind zwingend Bestandteil wenigstens einer Klasse, -"static void Main(string[] args)"-Methode in der ausführenden Datei, -Datentypsicherheit ist strikt einzuhalten (implizite oder explizite Typkonvertierung gibt es auch hier)
(*)neuere .NET Versionen verlagern solche Aktivitäten mehr in den Hintergrund, Bspl. "altes" Hallo Welt vs. "neues" Hallo Welt:
namespace HelloWorld
{
class Hello {
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
(neu)
Console.WriteLine("Hello World!");
Konzepte wie Namespaces, Coding Guidelines, Aufteilung in Schichten, TDD, Dokumentation, Architektur,... dienen aus menschlicher Sicht dem einfach(er)en Lesen/Schreiben/Ändern/Erweitern/... des Codes (auch in Python)
Goalkicker.com // DNC Magazine for .NET Developers // .NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray 😉
Hallo und willkommen,
schau auch mal in [FAQ] Wie finde ich den Einstieg in C#?
Am meisten hat mich das DotNet 4/5 auf DotNet 6 verunsichert.
Weil plötzlich...
Namespace
Klasse
Statische Klasse ohne Rückgabe Wert
weg sind.
Mein Frage wäre, brauch ich trotzdem noch einen Namenspace ?
Mit der Klasse ist ja logisch...
Nein, die sind nicht weg.
Das nennt sich Top Level Statements; und Visual Studio fragt Dich ja vorher, ob Du das willst oder nicht.
Top-level statements - C# tutorial
Und ja - natürlich brauchst Du Namespaces.
Aber Deine Aussage "dass sie weg sind" zeigt uns eigentlich, dass Du den C# / .NET Guide bisher nicht gelesen hast.
C# docs - get started, tutorials, reference.
Und wenn man schon die Grundlagen Guides nicht liest, dann wirds mit jeder Sprache schwer.
Daher mein Tipp: lern die Grundlagen. Deswegen haben sich Leute sehr viel Mühe gegeben diese Guides zu schreiben.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Begriffe wie (z.B.) "top-Level" oder "main" gibt es in Python auch, aber diese haben dort eine andere Bedeutung: Beitrag bei RealPython
Goalkicker.com // DNC Magazine for .NET Developers // .NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray 😉