Als «c#» getaggte Fragen

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

19
Sind #Regionen ein Antimuster oder ein Codegeruch?
C # ermöglicht die Verwendung von #region/ #endregionkeywords, um Codebereiche im Editor komprimierbar zu machen. Wann immer ich dies tue, tue ich es, um große Codestücke auszublenden, die wahrscheinlich in andere Klassen oder Methoden umgestaltet werden könnten. Zum Beispiel habe ich Methoden gesehen, die 500 Codezeilen mit 3 oder 4 …
265 c#  code-smell 

9
Warum enthalten viele Ausnahmemeldungen keine nützlichen Details?
Es scheint eine gewisse Übereinstimmung zu bestehen, dass Ausnahmemeldungen nützliche Details enthalten sollten . Warum enthalten viele häufige Ausnahmen von Systemkomponenten keine nützlichen Details? Einige Beispiele: Der .NET- ListIndexzugriff ArgumentOutOfRangeExceptiongibt weder den Indexwert an, der versucht wurde und ungültig war, noch den zulässigen Bereich. Grundsätzlich sind alle Ausnahmenachrichten aus der …
220 c#  c++  exceptions 


6
SOLID-Prinzipien und Code-Struktur
Bei einem kürzlich durchgeführten Vorstellungsgespräch konnte ich keine Frage zu SOLID beantworten - über die grundlegende Bedeutung der verschiedenen Prinzipien hinaus. Es nervt mich wirklich. Ich habe ein paar Tage lang herumgegraben und muss noch eine zufriedenstellende Zusammenfassung finden. Die Interviewfrage lautete: Wenn Sie sich ein .Net-Projekt ansehen würden, von …
150 c#  .net  solid 

8
Wie organisieren Sie Ihre Projekte? [geschlossen]
Haben Sie einen bestimmten Stil bei der Organisation von Projekten? Zum Beispiel erstelle ich gerade ein Projekt für ein paar Schulen hier in Bolivien. So habe ich es organisiert: TutoMentor (Solution) TutoMentor.UI (Winforms project) TutoMentor.Data (Class library project) Wie genau organisieren Sie Ihr Projekt? Haben Sie ein Beispiel für etwas, …

7
Beziehung zwischen C #, .NET, ASP, ASP.NET usw. [geschlossen]
Ich bin wirklich unklar über den Unterschied zwischen C #, C # .NET und dem Gleichen für ASP und andere '.NET'-Sprachen. Soweit ich weiß, ist .NET eine Bibliothek / ein Framework von ... Dingen. Ich denke, dass sie im Wesentlichen Zugriff auf Windows-Daten wie Formularelemente usw. haben, aber dies scheint …
143 c#  .net  asp.net 



10
Verwenden Sie nicht "statisch" in C #?
Ich reichte einen Antrag ein, den ich an einige andere Architekten zur Codeüberprüfung schrieb. Einer von ihnen schrieb mir fast sofort zurück und sagte: "Verwenden Sie nicht" statisch ". Sie können keine automatisierten Tests mit statischen Klassen und Methoden schreiben." Statisch "ist zu vermeiden." Ich habe geprüft, und 1/4 meiner …

5
Widersprechen die Richtlinien für die asynchrone / erwartete Verwendung in C # nicht den Konzepten einer guten Architektur und einer Abstraktionsschichtung?
Diese Frage betrifft die C # -Sprache, aber ich erwarte, dass sie andere Sprachen wie Java oder TypeScript abdeckt. Microsoft empfiehlt Best Practices für die Verwendung asynchroner Aufrufe in .NET. Wählen wir unter diesen Empfehlungen zwei aus: Ändern Sie die Signatur der asynchronen Methoden so, dass sie Task oder Task …
103 c#  architecture  async 

14
Ab wann ist Kürze keine Tugend mehr?
Nach einer kürzlichen Fehlerbehebung musste ich den von anderen Teammitgliedern geschriebenen Code durchgehen, wobei ich Folgendes fand (es ist C #): return (decimal)CostIn > 0 && CostOut > 0 ? (((decimal)CostOut - (decimal)CostIn) / (decimal)CostOut) * 100 : 0; Wenn man bedenkt, dass es für all diese Darsteller einen guten …

3
Datenbankverbindungen herstellen - Einmal oder für jede Abfrage?
Momentan erstelle ich eine Datenbankverbindung, wenn meine Webseite zum ersten Mal geladen wird. Ich verarbeite dann die Seite und führe alle Abfragen für diese Verbindung aus. Ist dies die beste Methode, oder sollte bei jeder Abfrage eine Datenbankverbindung hergestellt werden? ps Es ist für mich sinnvoller, eine Verbindung zu erstellen …
101 c#  database  sql-server 



13
Wird es als Anti-Pattern angesehen, SQL in den Quellcode zu schreiben?
Wird es als Anti-Pattern angesehen, SQL in eine Anwendung wie diese fest zu codieren: public List<int> getPersonIDs() { List<int> listPersonIDs = new List<int>(); using (SqlConnection connection = new SqlConnection( ConfigurationManager.ConnectionStrings["Connection"].ConnectionString)) using (SqlCommand command = new SqlCommand()) { command.CommandText = "select id from Person"; command.Connection = connection; connection.Open(); SqlDataReader datareader = …
87 c#  sql 

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.