C # ist eine multiparadigmatisierte, verwaltete, durch Müll gesammelte objektorientierte Programmiersprache, die von Microsoft parallel zur .NET-Plattform erstellt wurde
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 …
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 …
Was sind Ihre Faustregeln für die Verwendung von Strukturen im Vergleich zu Klassen? Ich denke an die C # -Definition dieser Begriffe, aber wenn Ihre Sprache ähnliche Konzepte hat, würde ich gerne auch Ihre Meinung hören. Ich neige dazu, Klassen für fast alles zu verwenden, und benutze Strukturen nur, wenn …
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 …
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, …
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 …
Zu Recht oder zu Unrecht bin ich derzeit der Überzeugung, dass ich immer versuchen sollte, meinen Code so robust wie möglich zu machen, auch wenn dies das Hinzufügen von redundantem Code / Überprüfungen bedeutet, von denen ich weiß , dass sie momentan nicht von Nutzen sind, aber sie könnte x …
Wir bauen eine neue App und möchten strukturierte Protokollierung einbinden. Mein ideales Setup wäre so etwas wie Serilogfür unseren C # -Code und Bunyanfür unseren JS. Diese würden in fluentdeine beliebige Anzahl von Dingen einfließen und könnten dann herausgehen, dachte ich anfangs elasticsearch + kibana. Wir haben bereits eine MySQL-Datenbank, …
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 …
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 …
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 …
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 …
Ich höre etwas über die Popularität von C ++ in der heutigen Zeit und einige Gespräche über die Migration von C # oder anderen C-ähnlichen Sprachen nach C ++. Ich kenne C ++ 11-Funktionen, würde aber gerne Ihre Erfahrungen hören, insbesondere von Entwicklern, die von C # auf C ++ …
Warum hat der C-Meister Dennis Ritchie Zeiger in C eingeführt? Und warum haben die anderen Programmiersprachen wie VB.NET oder Java oder C # sie beseitigt? Ich habe einige Punkte in Google gefunden und möchte auch Ihre Kommentare anhören. Warum eliminieren sie Zeigerkonzepte in modernen Sprachen? Die Leute sagen, C ist …
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 = …
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 …
Ich habe festgestellt, dass es in C # .NET nur drei Möglichkeiten zum Testen von Einheiten (Mock / Stub) gibt: Maulwürfe TypeMock JustMock Angesichts der Tatsache, dass zwei davon nicht kostenlos sind und einer Release 1.0 noch nicht erreicht hat, ist es nicht einfach, statische Inhalte zu verspotten. Macht das …
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 …
Manchmal muss ich eine Methode oder Eigenschaft für eine Klassenbibliothek schreiben, für die es nicht ungewöhnlich ist, keine echte Antwort zu haben, sondern einen Fehler. Etwas kann nicht bestimmt werden, ist nicht verfügbar, nicht gefunden, derzeit nicht möglich oder es sind keine Daten mehr verfügbar. Ich denke, es gibt drei …
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: { …
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 …
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 …
Ich habe die AvSol-Codierungsrichtlinien für C # durchgesehen und bin mit fast allem einverstanden, bin aber sehr gespannt, was andere von einer bestimmten Regel halten. AV1500 Methoden sollten 7 Anweisungen nicht überschreiten Eine Methode, die mehr als 7 Anweisungen erfordert, tut zu viel oder hat zu viele Verantwortlichkeiten. Außerdem muss …
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 …
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?
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 …
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 …
"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. …
ich würde gerne wissen In C # - oder VB.NET-Projekten sollten wir den PACKAGE-Ordner (Nugget-Paketordner, der im Stammverzeichnis meines Projekts erstellt wird und die nupkg-Dateien und andere Inhalte enthält) in unser Quellcodeverwaltungs-Repository (z. B. Git) aufnehmen.
In Onkel Bobs Kapitel über Namen in Clean Code wird empfohlen, Kodierungen in Namen zu vermeiden, vor allem in Bezug auf die ungarische Notation. Er erwähnt auch ausdrücklich das Entfernen des IPräfixes von den Schnittstellen, zeigt jedoch keine Beispiele dafür. Nehmen wir folgendes an: Die Verwendung der Schnittstelle dient hauptsächlich …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.