Als «c#» getaggte Fragen

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




7
.NET-Eigenschaften - Private Set- oder ReadOnly-Eigenschaft verwenden?
In welcher Situation sollte ich ein privates Set für eine Eigenschaft verwenden, anstatt es zu einer ReadOnly-Eigenschaft zu machen? Berücksichtigen Sie die beiden folgenden sehr simplen Beispiele. Erstes Beispiel: Public Class Person Private _name As String Public Property Name As String Get Return _name End Get Private Set(ByVal value As …
45 c#  .net  vb.net 

4
Warum sind Strukturen und Klassen in C # getrennte Konzepte?
Beim Programmieren in C # bin ich auf eine seltsame Entscheidung für das Sprachdesign gestoßen, die ich einfach nicht verstehe. C # (und die CLR) haben also zwei aggregierte Datentypen: struct(Werttyp, auf dem Stapel gespeichert, keine Vererbung) und class(Referenztyp, auf dem Heap gespeichert, hat Vererbung). Dieses Setup hört sich zunächst …


3
Bewährte Methoden zum Erstellen eines Fehlercode-Musters für ein Unternehmensprojekt in C # [geschlossen]
Ich arbeite an einem Unternehmensprojekt, das in vielen KMUs und Unternehmen eingesetzt wird. Die Unterstützung für dieses Projekt wäre schwierig und ich möchte ein Codierungsmuster für Fehler erstellen ( wie HTTP-Statuscodes ). Auf diese Weise können Helpdesk-Mitarbeiter so schnell wie möglich auf Dokumente zugreifen und die Probleme beheben. Was sind …

8
Sollte ich bei einem aussagekräftigen Wert außerhalb des Bereichs eine Ausnahme auslösen oder selbst damit umgehen?
Ich habe eine Struktur geschrieben, die Breiten- / Längengradkoordinaten darstellt. Ihre Werte reichen von -180 bis 180 für Längen und 90 bis -90 für Breiten. Wenn mir ein Benutzer dieser Struktur einen Wert außerhalb dieses Bereichs gibt, habe ich zwei Möglichkeiten: Ausnahme auslösen (Argument außerhalb des gültigen Bereichs) Konvertieren Sie …

10
Warum sollte Ihr Code nicht 100% CPU verwenden? [geschlossen]
Ich spreche speziell von einem C # .NET 4-Programm, das unter Windows XP oder höher ausgeführt wird, aber auch allgemeine Antworten sind akzeptabel. Nehmen Sie ein bereits optimiertes und effizientes Programm an. Das Problem liegt hier ausschließlich an den Auswirkungen einer hohen CPU-Auslastung auf die Hardware und daran, ob ein …
42 c#  multithreading  cpu  usage 


14
Ist dies eine richtige Situation, um eine Konstante zu verwenden?
Also gab mein Professor Feedback zu einem Projekt, an dem ich gearbeitet habe. Er hat ein paar Zeichen für diesen Code angedockt: if (comboVendor.SelectedIndex == 0) { createVendor cv = new createVendor(); cv.ShowDialog(); loadVendors(); } Dies ist in einem Combobox "Index geändert" -Handler. Es wird verwendet, wenn der Benutzer einen …
42 c# 

13
Ist es unvernünftig zu erwarten, dass Any () * not * eine Nullreferenzausnahme auslöst?
Wenn Sie eine Erweiterungsmethode erstellen können Sie, natürlich, nennen es auf null.Aber, im Gegensatz zu einer Instanz Methodenaufruf, es auf null Aufruf nicht haben eine werfen NullReferenceException-> müssen Sie prüfen , und es manuell zu werfen. Für die Implementierung der Linq-Erweiterungsmethode hat Any()Microsoft entschieden, dass ein ArgumentNullException( https://github.com/dotnet/corefx/blob/master/src/System.Linq/src/System/Linq/AnyAll.cs ) ausgelöst …


8
Private Variable vs Eigentum?
Wenn Sie einen Wert für eine Variable innerhalb einer Klasse festlegen, werden meistens zwei Optionen angeboten: private string myValue; public string MyValue { get { return myValue; } set { myValue = value; } } Gibt es eine Konvention, die festlegt, wie wir Variablen in unseren Klassen Werte zuweisen sollen? …

9
Sollte ich leere Sammlungen in meinen Methoden akzeptieren, die über sie iterieren?
Ich habe eine Methode, bei der die gesamte Logik in einer foreach-Schleife ausgeführt wird, die den Parameter der Methode durchläuft: public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } In diesem Fall führt das Einreichen einer leeren Sammlung zu einer …

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.