Als «c#» getaggte Fragen

C # ist eine multiparadigmatisierte, verwaltete, durch Müll gesammelte objektorientierte Programmiersprache, die von Microsoft parallel zur .NET-Plattform erstellt wurde

5
für vs. foreach vs. LINQ
Wenn ich Code in Visual Studio schreibe, empfiehlt mir ReSharper (Gott segne es!) Oft, meine alte for-Schleife in die kompaktere foreach-Form zu ändern. Und oft, wenn ich diese Änderung akzeptiere, geht ReSharper einen Schritt weiter und schlägt mir vor, sie in einer glänzenden LINQ-Form erneut zu ändern. Ich frage mich …
86 c#  linq 


4
Rich Domain Models - wie genau passt das Verhalten dazu?
In der Debatte von Rich vs. Anemic Domain Models steckt das Internet voller philosophischer Ratschläge, aber es fehlen maßgebliche Beispiele. Ziel dieser Frage ist es, definitive Richtlinien und konkrete Beispiele für geeignete domänengetriebene Designmodelle zu finden. (Idealerweise in C #.) Für ein reales Beispiel scheint diese Implementierung von DDD falsch …


11
Haben die Java-Entwickler RAII bewusst aufgegeben?
Als langjähriger C # -Programmierer habe ich kürzlich mehr über die Vorteile von RAII ( Resource Acquisition Is Initialization ) erfahren . Insbesondere habe ich festgestellt, dass die C # -Sprache: using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } hat das C ++ Äquivalent: { …
82 java  c#  c++  language-design 

10
Ausnahmen, Fehlercodes und diskriminierte Gewerkschaften
Ich habe vor kurzem einen C # -Programmierjob begonnen, habe aber einiges an Hintergrundwissen in Haskell. Aber ich verstehe, dass C # eine objektorientierte Sprache ist, ich möchte keinen runden Stift in ein quadratisches Loch zwingen. Ich habe den Artikel Exception Throwing von Microsoft gelesen, in dem es heißt: KEINE …
80 c#  exceptions 

6
Wann kann man C # fließend sprechen?
In vielerlei Hinsicht mag ich die Idee von Fluent-Schnittstellen sehr, aber mit all den modernen Funktionen von C # (Initialisierer, Lambdas, benannte Parameter) denke ich: "Lohnt es sich?" Und "Ist dies das richtige Muster für" verwenden?". Könnte mir jemand, wenn nicht eine akzeptierte Praxis, zumindest seine eigene Erfahrung oder Entscheidungsgrundlage …
78 c#  .net 


11
Ist es eine schlechte Praxis, Code ausschließlich zu Testzwecken zu ändern?
Ich habe eine Debatte mit einem Programmiererkollegen darüber, ob es eine gute oder eine schlechte Praxis ist, ein funktionierendes Codestück nur so zu ändern, dass es testbar ist (z. B. durch Unit-Tests). Meiner Meinung nach ist es in Ordnung, im Rahmen der Einhaltung guter objektorientierter und Software-Engineering-Praktiken (nicht "alles öffentlich …

8
Eine praktische Verwendung des Schlüsselworts "yield" in C # [closed]
Nach fast 4 Jahren Erfahrung habe ich keinen Code gesehen, in dem das Schlüsselwort yield verwendet wird. Kann mir jemand eine praktische Verwendung (zusammen mit einer Erklärung) dieses Schlüsselworts zeigen, und wenn ja, gibt es keine anderen Möglichkeiten, die Erfüllung der Aufgaben zu erleichtern?
76 c#  syntax 

9
Warum Teilklassen verwenden?
Nach meinem Verständnis partialbewirkt das Schlüsselwort nichts anderes, als die Aufteilung einer Klasse auf mehrere Quelldateien. Gibt es einen Grund, dies anders als für die Code-Organisation zu tun? Ich habe gesehen, dass es dafür in generierten UI-Klassen verwendet wird. Es scheint ein schlechter Grund zu sein, ein ganzes Keyword zu …

5
Warum würden Sie die Direktive 'using' in C # nicht verwenden?
Die bestehenden Codierungsstandards für ein großes C # -Projekt enthalten die Regel, dass alle Typnamen vollständig qualifiziert sein müssen, und verbieten die Verwendung der Direktive 'using'. Also eher als das Vertraute: using System.Collections.Generic; .... other stuff .... List<string> myList = new List<string>(); (Es ist wahrscheinlich keine Überraschung, dass varauch verboten …

7
Wann werden abstrakte Klassen anstelle von Schnittstellen mit Erweiterungsmethoden in C # verwendet?
"Abstrakte Klasse" und "Schnittstelle" sind ähnliche Konzepte, wobei die Schnittstelle die abstraktere der beiden ist. Ein entscheidender Faktor ist, dass abstrakte Klassen bei Bedarf Methodenimplementierungen für abgeleitete Klassen bereitstellen. In C # wurde dieser Differenzierungsfaktor jedoch durch die kürzliche Einführung von Erweiterungsmethoden reduziert, die es ermöglichen, Implementierungen für Schnittstellenmethoden bereitzustellen. …



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.