


Tipps zur C#-Programmierung und Visual Studio-Nutzung (Teil 2)
Wenn Sie diesen Artikel über eine Suchmaschine gefunden haben, empfehle ich Ihnen, zuerst den ersten Artikel dieser Serie zu lesen. Heute werde ich Ihnen eine umfassendere C#- und Visual Studio-Programmierung vorstellen bei den Techniken.
1. DataTable.HasRows
Es gehört zu keinem Framework, aber es ist einfach, eine solche Methode durch Erweiterungsmethoden zu imitieren, wodurch die ursprüngliche Überprüfung, ob das Datentabellenobjekt ist, nicht entfällt ist leer oder die Anzahl der Codezeilen, aber es kann den Anwendungscode vereinfachen, hier ist ein Codeausschnitt:
<CODE> public static bool HasRows(this DataTable dataTable) { return dataTable.IsNull() ? false : (dataTable.Rows.Count > 0); } public static bool IsNull(this object o) { return (o == null); } To use: If(dataTable.HasRows()) { … } </CODE>
Andere Regeln sind immer noch die gleichen wie für Erweiterungsmethoden.
2. ToTitleCase
Diese Methode kann den ersten Buchstaben jedes Wortes in Großbuchstaben und die restlichen Buchstaben in Kleinbuchstaben umwandeln. Beispielsweise wird „Suchen Sie unten nach einem Beispiel“ in „Schauen“ umgewandelt Unten als Beispiel: TextInfo ist Teil des System.Globalization-Namespace, weist jedoch die folgenden Probleme auf:
Die aktuelle Kultur
Wenn die Eingabezeichenfolge ausschließlich aus Großbuchstaben besteht
Die folgende Erweiterungsmethode berücksichtigt diese beiden Mängel.
<CODE> public static string ToTitleCase(this string inputString) { return Thread.CurrentThread.CurrentCulture.TextInfo. ToTitleCase((inputString ?? string.Empty).ToLower()); } </CODE>
3. Explizite und implizite Schnittstellenimplementierung
Ist das wichtig? Ja, sehr wichtig, kennen Sie den Syntaxunterschied zwischen ihnen? Tatsächlich gibt es grundlegende Unterschiede zwischen ihnen. Die implizite Schnittstellenimplementierung einer Klasse verwendet standardmäßig eine öffentliche Methode, auf die über Objekte oder Schnittstellen der Klasse zugegriffen werden kann. Die explizite Schnittstellenimplementierung der Klasse ist standardmäßig eine private Methode, auf die nur über die Schnittstelle und nicht über das Objekt der Klasse zugegriffen werden kann. Das Folgende ist ein Beispielcode:
<CODE> INTERFACE public interface IMyInterface { void MyMethod(string myString); } CLASS THAT IMPLEMENTS THE INTERFACE IMPLICITLY public MyImplicitClass: IMyInterface { public void MyMethod(string myString) { /// } } CLASS THAT IMPLEMENTS THE INTERFACE EXPLICITLY public MyExplicitClass: IMyInterface { void IMyInterface.MyMethod(string myString) { /// } } MyImplicitClass instance would work with either the class or the Interface: MyImplicitClass myObject = new MyImplicitClass(); myObject.MyMethod(""); IMyInterface myObject = new MyImplicitClass(); myObject.MyMethod(""); MyExplicitClass would work only with the interface: //The following line would not work. MyExplicitClass myObject = new MyExplicitClass(); myObject.MyMethod(""); //This will work IMyInterface myObject = new MyExplicitClass(); myObject.MyMethod(""); </CODE>
4. Automatisches Attribut
Dies ist die beste Möglichkeit, ein Attribut zu ersetzen, das ein öffentliches und zwei private Mitglieder enthält.
Drücken Sie zweimal die Tabulatortaste (Sie müssen die Code-Snippet-Funktion aktivieren), und ein Auto-Attribut wird erstellt. Drücken Sie die Tabulatortaste erneut, um einen Namen für das Auto-Attribut zu erhalten. Der folgende Code
<CODE> private double _total; public double Total { get { return _total; } set { _total = value; } } </CODE>
wird zu
<CODE> public double Total { get; set; } </CODE>
. Beachten Sie, dass Sie weiterhin Zugriffsspezifizierer entsprechend Ihrem Design anwenden können und der Compiler private Mitgliedsvariablen für Sie erstellen sollte.
5. Leistungsstarkes Path.Combine
Path.Combine eliminiert nachgestellte Schrägstriche und pfadbezogene Probleme. Es ist einfach und benutzerfreundlich und macht die Pfadzeichenfolge kontinuierlicher Enthält einen String-Pfadparameter.
Sie müssen sich keine Gedanken über gültige Trennzeichen oder Leerzeichen im Pfad machen, und Sie müssen sich beim Zusammenführen von Pfaden nicht mit der Verkettung von Zeichenfolgen befassen.
6. Eine schnelle Möglichkeit, die „Override“-Methode in einer Klasse zu schreiben.
Geben Sie „Override“ in den Code-Editor ein und drücken Sie die Leertaste. Sie sehen eine Liste der klassenbasierten Overrides-Methoden , wie in Abbildung 2 dargestellt.
Abbildung 1 Liste überschreibbarer Methoden
7. Erweiterte Konfigurationsdatei verwenden
Vielen Dank app.config (für Anwendungen) und Web. config-Konfigurationsdateien, die es uns ermöglichen, komplexe Einstellungen auf Anwendungsebene zu verwalten, aber wir müssen uns immer noch mit verschiedenen Problemen befassen, mit denen unterschiedliche Umgebungseinstellungen konfrontiert sind. Dies bezieht sich hier auf die Einstellungen von Entwicklungs-, Test- und Produktionsumgebungen.
Wir müssen auf eine bestimmte Umgebung zurückgreifen, um Teile des Codes zu analysieren, zu testen oder zu debuggen, und jede Einrichtung und Anpassung im Prozess ist mühsam.
Beispielsweise kann es bei jeder Wiederherstellung erforderlich sein, die ConnectionStrings (Verbindungszeichenfolge) zurückzusetzen. Jetzt können Sie die Eigenschaft ConfigSource über einen externen Dateiverweis verwenden, um dieses Problem zu lösen. Der folgende Code verweist beispielsweise auf eine externe Konfigurationsdatei „development.config“.
<connectionStrings configSource="configs\ development.config" />
Sie können diese nützliche Eigenschaft auch im Abschnitt „AppSettings“ verwenden.
8. Überwinden Sie die Einschränkungen der String.Split-Methode
String.Split ist die idealste Methode zum Trennen von Zeichenfolgen, weist jedoch unseres Wissens auch einige Einschränkungen auf, z Die Unfähigkeit, „||“- oder „::“-Zeichen zu verwenden, muss ein eindeutiges einzelnes Zeichen auf der Tastatur als Trennzeichen verwenden. Dieser Mangel kann durch die Verwendung der von der RegEx-Bibliothek bereitgestellten Split-Methode behoben werden RegEx Split, um eine „||“-Zeichenfolge zu trennen.
<CODE> string delimitedString = "String.Split || RegEx.Split"); string[] ouputString = System.Text.RegularExpressions.Regex.Split( delimitedString, , System.Text.RegularExpressions.Regex.Escape("||")); </CODE>
9. Schneller Wechsel zwischen HTML-Codeansicht und Designansicht von Elementen (und umgekehrt)
Beim Entwerfen der Anwendung verwenden wir die von mir ausgegebene IDE Viel Zeit für HTML-Inhalte und Designansichten. Visual Studio 2010 bietet die Funktion, schnell zwischen Designansicht und HTML-Code zu wechseln.
Wenn Sie sich in der HTML-Ansicht befinden, suchen Sie das Element, das Sie anzeigen möchten, in der Entwurfsansicht und wechseln Sie dann zur Entwurfsansicht. Außerdem sollte das Element, das Sie anzeigen möchten, jetzt „Eigenschaften“ anzeigen des ausgewählten Elements.
Wenn Sie in der Entwurfsansicht ein Element auswählen und dann zur Codeansicht wechseln, sollte der HTML-Code, der dem von Ihnen ausgewählten Element entspricht, ebenfalls hervorgehoben werden.
10. Suchen Sie schnell nach Daten in der Datenbank
Obwohl die Datentabelle die Methoden „Find“ und „Select“ zum Auswählen von Zeilen unterstützt, sind diese nicht so einfach zu verwenden wie die Methode „DataView“, die FindRows bereitstellt Methode, die einen für die Sortierspalte erstellten Index verwenden kann, sodass sie schneller ist.
Ich hoffe, diese Tipps können Ihnen helfen, wertvolle Programmierzeit zu sparen. Probieren Sie es aus!
Weitere Tipps zur C#-Programmierung und zur Verwendung von Visual Studio (Teil 2) finden Sie auf der chinesischen PHP-Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Nutzungsmethoden von Symbolen in der C-Sprachabdeckung Arithmetik, Zuordnung, Bedingungen, Logik, Bitoperatoren usw. werden für grundlegende mathematische Operationen verwendet, Zuordnungsoperatoren werden zur Zuordnung und Addition verwendet, Subtraktion, Multiplikationszuordnung und Abteilungszuweisung, Zustandsbetreiber werden für Unterschiede verwendet. Logische Operationen werden verwendet. Logische Operationen werden verwendet. Logische Operationen werden verwendet. Zeiger, Markierungen am Ende der Datei und nicht numerische Werte.

In C wird der Zeichenentyp in Saiten verwendet: 1. Speichern Sie ein einzelnes Zeichen; 2. Verwenden Sie ein Array, um eine Zeichenfolge darzustellen und mit einem Null -Terminator zu enden. 3. Durch eine Saitenbetriebsfunktion arbeiten; 4. Lesen oder geben Sie eine Zeichenfolge von der Tastatur aus.

In der C -Sprache werden Sonderzeichen durch Escape -Sequenzen verarbeitet, wie z. B.: \ n repräsentiert Linienbrüche. \ t bedeutet tab charakter. Verwenden Sie Escape -Sequenzen oder Zeichenkonstanten, um Sonderzeichen darzustellen, wie z. B. char c = '\ n'. Beachten Sie, dass der Backslash zweimal entkommen muss. Verschiedene Plattformen und Compiler haben möglicherweise unterschiedliche Fluchtsequenzen. Bitte wenden Sie sich an die Dokumentation.

In der C -Sprache ist der Hauptunterschied zwischen char und wchar_t die Zeichencodierung: char verwendet ASCII oder erweitert ASCII, wchar_t Unicode; char nimmt 1-2 Bytes auf, wchar_t nimmt 2-4 Bytes auf; char ist für englischen Text geeignet. Wchar_t ist für mehrsprachige Text geeignet. char ist weithin unterstützt, wchar_t hängt davon ab, ob der Compiler und das Betriebssystem Unicode unterstützen. char ist in der Charakterbereich begrenzt, WCHAR_T hat einen größeren Charakterbereich und spezielle Funktionen werden für arithmetische Operationen verwendet.

Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.

In der C -Sprache kann die char -Typ -Konvertierung direkt in einen anderen Typ konvertiert werden, wenn: Casting: Verwenden von Casting -Zeichen. Automatische Konvertierung des Typs: Wenn ein Datentyp einen anderen Werttyp berücksichtigen kann, wandelt der Compiler diese automatisch um.

Es gibt keine integrierte Summenfunktion in der C-Sprache, daher muss sie selbst geschrieben werden. Die Summe kann erreicht werden, indem das Array durchquert und Elemente akkumulieren: Schleifenversion: Die Summe wird für die Schleifen- und Arraylänge berechnet. Zeigerversion: Verwenden Sie Zeiger, um auf Array-Elemente zu verweisen, und eine effiziente Summierung wird durch Selbststillstandszeiger erzielt. Dynamisch Array -Array -Version zuweisen: Zuordnen Sie Arrays dynamisch und verwalten Sie selbst den Speicher selbst, um sicherzustellen, dass der zugewiesene Speicher befreit wird, um Speicherlecks zu verhindern.

Das Char -Array speichert Zeichensequenzen in der C -Sprache und wird als char Array_name [Größe] deklariert. Das Zugriffselement wird durch den Einweisoperator weitergeleitet, und das Element endet mit dem Null -Terminator '\ 0', der den Endpunkt der Zeichenfolge darstellt. Die C -Sprache bietet eine Vielzahl von String -Manipulationsfunktionen wie Strlen (), Strcpy (), Strcat () und strcmp ().
