Heim > Backend-Entwicklung > C#.Net-Tutorial > Zusammenfassung häufig verwendeter asp.net-Kenntnisse

Zusammenfassung häufig verwendeter asp.net-Kenntnisse

怪我咯
Freigeben: 2017-03-31 10:37:49
Original
1386 Leute haben es durchsucht


Häufig verwendete Tastenkombinationen für vs2005

DebuggingTastenkombinationen

F6: Lösung generieren
Strg+F6: Aktuelles Projekt generieren
F7: Anzeigen Code
Umschalt+F7: Formular-Designer anzeigen
F5: Debuggen starten
Strg+F5: Ausführung starten (ohne Debuggen)
Umschalt+F5: Debuggen stoppen
Strg+Umschalt+F5: Debuggen neu starten
F9: Haltepunkte wechseln
Strg+F9: Haltepunkte aktivieren/stoppen
Strg+Umschalt+F9: Alle Haltepunkte löschen
F10: Prozess für Prozess
Strg+F10: Ausführen Gehe zu der Cursor
F11: Anweisung für Anweisung

Tastenkombinationen bearbeiten

Umschalt+Alt+Eingabetaste: Zur Vollbildbearbeitung wechseln

Strg+B,T / Strg +K, K: Lesezeichen-Schalter umschalten
Strg+B,N / Strg+K,N: Zum nächsten Lesezeichen wechseln
Strg+B,P: Zum vorherigen Lesezeichen wechseln
Strg+B,C: Löschen alle Tags

Strg+I: Inkrementelle Suche
Strg+Umschalt+I: Umgekehrte progressive Suche
Strg+F: Suchen
Strg+Umschalt+F: In Dateien suchen
F3 : Nächstes suchen
Umschalt+F3: Vorheriges suchen
Strg+H: Ersetzen
Strg+Umschalt+H: Ersetzen
Alt+F12: Symbol suchen (Alle Suchergebnisse auflisten)

Strg+Umschalt+V: ZwischenablageSchleife

Strg+linke und rechte Pfeiltasten: Wort für Wort verschieben
Strg+oben und unten Pfeiltasten: Codebildschirm scrollen, verschiebt jedoch nicht die Cursorposition.
Strg+Umschalt+L: Aktuelle Zeile löschen
Strg+M,M: Aktuelle verschachtelte Falte ausblenden oder erweitern Status
Strg+M,L: Alle Prozesse auf „The“ setzen Gleicher ausgeblendeter oder erweiterter Zustand
Strg+M,P: Umrissanzeige stoppen
Strg+E,S: Leerraum anzeigen
Strg+E,W: Automatisch umbrechen
Strg+G: Zur angegebenen gehen Zeile
Umschalt+Alt+Pfeiltasten: rechteckigen Text auswählen
Alt+linke MaustasteTaste: rechteckigen Text auswählen

Strg+Umschalt+U: Alles in Großbuchstaben ändern
Strg +U: Alles in Kleinbuchstaben ändern

Code-Tastenkombinationen

Strg+J / Strg+K,L: Mitglieder auflisten
Strg+Umschalt+Leertaste / Strg+K,P : Parameterinformationen
Strg+K,I: Kurzinformationen

Strg+E,C / Strg+K,C: KommentarAusgewählter Inhalt
Strg+E,U / Strg+K,U: Auswahl des Kommentarinhalts aufheben

Strg+K,M: Methoden-Stub generieren
Strg+K,X: Codesegment einfügen
Strg+K,S: Externen Code einfügen

F12: Gehe zur Definition der aufgerufenen Prozedur oder Variable

Fenster-Tastenkombination

Strg+W, W: Browserfenster
Strg +W,S: Lösungsmanager
Strg+W,C: KlasseAnsicht
Strg+W,E: Fehlerliste
Strg+W,O: Ausgabeansicht
Strg +W,P: EigenschaftenFenster
Strg+W,T: Aufgabenliste
Strg+W,X: Toolbox
Strg+W,B: Lesezeichenfenster
Strg+ W,U: Dokumentgliederung

Strg+D,B: Haltepunktfenster
Strg+D,I: Direktfenster

Strg+Tab: Aktive Fensterumschaltung

Strg+Umschalt+N: Neues Projekt erstellen
Strg+Umschalt+O: Projekt öffnen
Strg+Umschalt+S: Alles speichern
Umschalt+Alt+C: Neue Klasse erstellen
Strg +Umschalt+A: Neues Element



3. Variable.ToString()
Zeichentypkonvertierung in String
12345.ToString("n"); //Generiere 12.345,00
12345.ToString("C"); //Generiere ¥12.345,00
12345.ToString("e") ; // Generiere 1.234500e+004
12345.ToString("f4"); //Generiere 12345.0000
12345.ToString("x"); //Generiere 3039 (hexadezimal)
12345. ToString("p" ); //Generiere 1.234.500,00 %

1.9 Holen Sie sich die chinesische Datumsanzeige – Jahr, Monat, Tag, Stunde und Minute
string strY=aktuelleZeit. ToString("f"); // Sekunden nicht anzeigen

1.10 Chinesisches Datum abrufen display_year und Monat
string strYM=currentTime.ToString("y");

1.11 Chinesisch abrufen Datum display_month Tag
string strMD=currentTime.ToString("m");

1.12 Holen Sie sich chinesisches Jahr, Monat und Tag
string strYMD=currentTime.ToString("D");
1.13 Aktuelle Uhrzeit und Minute abrufen, das Format ist: 14:24
string strT=currentTime.ToString("t");

1.14 Aktuelle Uhrzeit abrufen, das Format ist: 2003 -09-23T14:46 :48
string strT=currentTime.ToString("s");

1.15 Holen Sie sich die aktuelle Uhrzeit, das Format ist: 2003-09-23 14:48:30Z
string strT=currentTime.ToString ("u");

1.16 Holen Sie sich die aktuelle Zeit, das Format ist: 23.09.2003 14:48
string strT=currentTime.ToString("g ");

1.17 Holen Sie sich die aktuelle Uhrzeit im Format: Tue, 23 Sep 2003 14:52:40 GMT
string strT=currentTime.ToString("r");

1.18 Datum und Uhrzeit n Tage nach der aktuellen Uhrzeit abrufen

DateTime newDay = DateTime.Now.AddDays(100);


String-Variable.Replace("substring","replace with")
String-Ersetzung
Zum Beispiel:
string str="China"
str=str .Replace("国","central"); //Ersetzen Sie das Zeichen „国“ durch das Zeichen „central“
Response.Write(str); //Das Ausgabeergebnis ist „central“



C#ProgrammierungStandards
Es ist äußerst wichtig, einen guten Codierungsstil zu entwickeln, den Sie oder andere nicht sehen können wird in Zukunft beibehalten. Entwickeln Sie daher von nun an gute Codierungsgewohnheiten, einschließlich Variablenbenennung, Kommentare, Codeeinrückung ...
1. Verwenden Sie Pascal, um Typen, Methodennamen und Konstanten zu definieren

tr>
public class SomeClass {
public class SomeClass
{
 const int DefaultSize=100;  
 public SomeMethod()
 {
 }
}
const int DefaultSize=100;

public SomeMethod()
{

}
int number;  
           void MyMethod(int someNumber)  
           {}
}

2. Verwenden Sie Kamelnamen für lokale Variablen und Methodenparameter
int number; void MyMethod (int someNumber)
interface ImyInterface  
           {…}
Add I

interface ImyInterface                                 /table>4. Fügen Sie m_ vor den privaten Mitgliedsvariablen hinzu. Verwenden Sie für den
Variablennamen nach m_ die Camel-Benennungsmethode
public class SomeClass  
           {  
           private int m_Number;  
           }

public class SomeClass
{
private int m_Number;       }

5. Fügen Sie das Suffix Attribut
6 zur benutzerdefinierten Attributklasse hinzu. Fügen Sie das Suffix Exception


zur benutzerdefinierten Ausnahmeklasse 7 hinzu. Verwenden Sie das Verb ----
object
beim Benennen der Methode, z. B. ShowDialog()

8. Methoden mit Rückgabewerten sollten mit einer Beschreibung des Rückgabewerts benannt werden, z. B. GetObjectState()

9. Verwenden Sie beschreibende Variablennamen
a) Vermeiden Sie Variablen mit nur einem Zeichen Namen wie I oder t usw. Verwenden Sie aussagekräftige Namen wie index oder temp.
b) Vermeiden Sie die Verwendung der ungarischen Notation für Variablen vom öffentlichen oder geschützten Typ.
c) Kürzen Sie Wörter nicht ab (verwenden Sie beispielsweise „num“ anstelle von „number“).

10. Verwenden Sie immer vordefinierte C#-Namen anstelle von Aliasen im System-Namespace, zum Beispiel:
Verwenden Sie ein Objekt anstelle von Objekt Verwenden Sie einen String anstelle von String
//正确  
           public class LinkedList  
           {…}  

           //避免  
           public class LinkedList  
           {….}
Verwenden Sie int anstelle von int32


11 Bei Verwendung von Generika , muss der erste Buchstabe des Typs großgeschrieben werden. Behalten Sie beim Umgang mit Typtypen in .NET das Typsuffix bei. (Neue Funktion von C#2.0)

//Correct
                        public class LinkedList                                           
> // Vermeiden Sie
Public Class LinkedList & LT; {….}

12 Definieren Sie Namensräume wie Produktnamen oder Firmennamen
using System;  
           using System.Collection.Generic;  
           using System.ComponentModel;  
           using System.Data;  
           using MyCompany;  
           using MyControls;
13. Vermeiden Sie die Verwendung von Typnamen in vollständig qualifizierter Weise und verwenden Sie das Schlüsselwort using.


14. Vermeiden Sie die Verwendung des Schlüsselworts „using“ in einem Namespace

delegate void SomeDelegate();  
           public void SomeMethod()  
           {…}  
           SomeDelegate someDelegate=SomeMethod;
15. Organisieren Sie alle vom System bereitgestellten Namespaces Framework und verwenden Sie Namen, die von Dritten bereitgestellt werden unten der System-Namespace
using System.Collection.Generic; using System using System.Data; using MyCompany; using MyControls; nicht explizit einen Delegaten instanziieren (neue Funktion in C# 2.0)
delegate void SomeDelegate(); public void SomeMethod()                                                                                                                                               

17. Behalten Sie die strikte Codeeinrückung bei. Verwenden Sie keine Tabulatoren oder nicht standardmäßige Einzüge, wie z. B. ein Leerzeichen. Der empfohlene Einzug beträgt 3 bis 4 Leerzeichen.

18. Fügen Sie einen Kommentar für diese Codezeile auf derselben Ebene wie Ihre Codeeinrückung hinzu.

19. Alle Kommentare sollten die Rechtschreibprüfung bestehen. Rechtschreibfehler in Kommentaren bedeuten Verzögerungen im Entwicklungsfortschritt.

20. Alle Klassenmitgliedsvariablen sollten am Anfang der Klasse deklariert werden und eine Leerzeile verwenden, um sie von Methoden- und Attributdeklarationen

                                                          public void SomeMethod2(); 🎜>
public class MyClass  
           {      
           int m_Number;  
           string m_Name;  
           public void SomeMethod1();  
           public void SomeMethod2();  
           }
21. Deklarieren Sie eine lokale Variable, die am nächsten kommt wo es verwendet wird.


22. Ein Dateiname sollte den Klassennamen widerspiegeln, dem er entspricht

23 Wenn Sie eine Teilklasse verwenden und die Klasse auf verschiedene Dateien verteilen, steht am Ende die Rolle Durch die Implementierung wird ein Teil der Datei in die Gesamtklasse eingefügt. Zum Beispiel:

// In MyClass.cs öffentliche Teilklasse MyClass
// In MyClass.cs  
           public partial class MyClass  
           {…}  
           //In MyClass.Designer.cs  
           public partial class MyClass  
           {…}
MyClass.Designer.cs

öffentliche Teilklasse MyClass
” in einer neuen Zeile
Codierungspraktiken:

1. Vermeiden Sie die Platzierung mehrerer Klassen in derselben Datei
2 . Eine Datei sollte nur Typen innerhalb eines Namespace definieren. Vermeiden Sie die Verwendung mehrerer Namespaces in einer Datei
3. Vermeiden Sie es, mehr als 500 Codezeilen in eine Datei zu schreiben (außer automatisch generiertem Code)
4. Vermeiden Sie es, mehr als 25 Codezeilen zu schreiben
5. Vermeiden Sie das Schreiben von Methoden mit mehr als 5 Parametern. Wenn Sie mehrere Parameter übergeben möchten, verwenden Sie eine Struktur.
6. Eine Zeile sollte 80 Zeichen nicht überschreiten
7 Ändern Sie keinen maschinell generierten Code.
a) Wenn Sie den maschinell generierten Code ändern, ändern Sie Ihre Kodierungsmethode, um sie an diesen Kodierungsstandard anzupassen
b) Verwenden Sie so oft wie möglich Teilklassenfunktionen, um die Wartbarkeit zu verbessern. (Neue Funktionen in C# 2.0)
8. Vermeiden Sie das Kommentieren von Inhalten, die sehr intuitiv sind. Der Code selbst sollte in der Lage sein, seine eigene Bedeutung zu erklären. Guter Code, der aus lesbaren Variablen- und Methodennamen besteht, sollte keine Kommentare erfordern.
9. Kommentare sollten nur einige Grundannahmen der Operation, interne Informationen des Algorithmus usw. beschreiben.
10. Vermeiden Sie das Kommentieren von Methoden a) Verwenden Sie ausreichend externe Dokumentation, um die API zu beschreiben

b) In Kommentaren auf Methodenebene dürfen nur Informationen platziert werden, die für andere Entwickler nützlich sind
11. Kodieren Sie niemals andere Werte als 0 und 1, indem Sie eine Konstante anstelle des Werts 12 deklarieren. Verwenden Sie den Schlüssel const nur für Werte, die das Zeichen
niemals ändern die Anzahl der Tage in einer Woche.
13. Vermeiden Sie die Verwendung des Schlüsselworts const für schreibgeschützte Variablen. Verwenden Sie in diesem Fall direkt das readonly-Schlüsselwort

public class MyClass  
           {  
           public const int DaysInWeek=7;  
           pubic readonly int Number;  
           public MyClass(int someValue)  
           {  
           Number=someValue;  
           }  
           }
tbody>
public class MyClass ; public readonly int Number; int someValue)

}  
        }

using System.Diagnostics;  
           object GetObject()  
           {…}  
           object someObject=GetObject();  
           Debug.assert(someObject!=null);
14. Machen Sie eine Behauptung für jede Hypothese. Im Durchschnitt sollte alle 5 Zeilen eine Behauptung vorhanden sein.
using System.Diagnostics; Debug.assert(someObject!=null);

15. Jede Codezeile sollte durch White-Box-Tests überprüft werden.
16. Fangen Sie nur Ausnahmen ab, die Sie explizit selbst behandeln können.
17. Wenn Sie eine Ausnahme im Catch-Anweisungsblock auslösen müssen, werfen Sie nur die vom Catch erfasste Ausnahme (oder andere auf der Ausnahme basierende Ausnahmen) aus, damit der ursprüngliche Fehler behoben werden kann beibehalten Der Stapelspeicherort, an dem es sich befindet.

catch(Ausnahme Ausnahme)
catch(Exception exception)  
           {  
           MessageBox.Show(exception.Message);  
           throw;//或throw exception;  
           }
                                                                                                           /oder Ausnahme auslösen; >

18. Vermeiden Sie die Verwendung des Rückgabewerts als Fehlercode der Funktion.
19. Vermeiden Sie benutzerdefinierte Ausnahmeklassen.
20. Beim Anpassen von Ausnahmeklassen:
a) Lassen Sie Ihre benutzerdefinierte Ausnahmeklasse von der Ausnahmeklasse erben
b) Stellen Sie einen benutzerdefinierten Serialisierungsmechanismus bereit
21 >Main()-Methoden in einer Assembly. 22. Definieren Sie nur die Methoden, die unbedingt erforderlich sind, als öffentlich und
definieren Sie andere Methoden als intern. 23. Vermeiden Sie Friend-Assemblys, da dies die Kopplung zwischen Assemblys erhöht.
24. Vermeiden Sie es, Ihren Code von einer Assembly abhängig zu machen, die an einem bestimmten Ort ausgeführt wird.
25. Minimieren Sie die Codemenge in der Anwendungsassembly (EXE-Client-Assemblys). Verwenden Sie Klassenbibliotheken, um Geschäftslogik zu enthalten.
26. Vermeiden Sie die explizite Angabe von Aufzählungswerten

//Richtig                                     public enum Color                                                                                                🎜> Rot, Grün, Blau
//正确  
           public enum Color  
           {  
           Red,Green,Blue  
           }

           //避免  
           public enum Color  
           {  
           Red=1,Green=2,Blue=3  
           }
​ ​ ​ ​ Rot=1,Grün=2,Blau=3  

      }

27 eine Aufzählung
//避免  
           public enum Color:long  
           {  
           Red,Green,Blue  
           }

//Vermeiden Sie
public enum Color:long { 🎜 >28 Verwenden Sie immer ein {}-Paar, um den folgenden Anweisungsblock einzuschließen, auch wenn nur eine Anweisung vorhanden ist.
29. Vermeiden Sie die Verwendung des ternären bedingten
-Operators .
Bool IsEverythingOK()  
           {…}  

           //避免  
           if(IsEverythingOk())  
           {…}  

           //正确  
           bool ok=IsEverythingOK();  
           if (ok)  
           {…}
30. Vermeiden Sie die Verwendung von booleschen Werten, die von Funktionen als bedingte Anweisungen zurückgegeben werden. Weisen Sie den Rückgabewert einer lokalen Variablen zu und testen Sie ihn anschließend.

31. Verwenden Sie immer nullbasierte Arrays. 32. Verwenden Sie immer eine
for-Schleife, um ein Array von
Bool IsEverythingOK()                                              )                                                                                                         {…}
public class MyClass
           {}
           const int ArraySize=100;  
           MyClass[] array=new MyClass[ArraySize];  
           For (int index=0;index {
array[index]=new MyClass();
}
Referenzen auf <🎜>-Mitglieder explizit zu initialisieren: <🎜><🎜>public class MyClass<🎜> =0;index33. Verwenden Sie Eigenschaften, um öffentliche oder geschützte Mitgliedsvariablen zu ersetzen.
34. Verwenden Sie nicht den geerbten neuen Operator, sondern verwenden Sie das Schlüsselwort override, um die Implementierung von new zu überschreiben.
35. Definieren Sie in einer nicht versiegelten Klasse immer öffentliche und geschützte Methoden als virtuell.
36. Verwenden Sie niemals unsicheren Code, außer zur Interaktion mit anderen Sprachen.
37. Vermeiden Sie die Anzeige der Typkonvertierung. Verwenden Sie das as-Schlüsselwort für eine sichere Konvertierung in einen anderen Typ.

Dog dog=new GermanShepherd();
Dog dog=new GermanShepherd();
GermanShepherd shepherd=dog as GermanShepherd;
if (shepherd!=null)
{…}
GermanShepherd shepherd=dog as GermanShepherd;

if (shepherd!=null )
                                                                                                                                                                                                    . 39. Stellen Sie keine öffentlichen Ereignis
-Mitgliedsvariablen bereit. Verwenden Sie stattdessen Event Accessor.

Public class MyPublisher
{
MyDelegate m_SomeEvent;
Public event MyDelegate SomeEvent
{
add
{
m_SomeEvent+=value;
}
remove
{
m_SomeEvent-=value;
}
}
}
Öffentliche Klasse MyPublisher

{ MyDelegate m_SomeEvent; Öffentliche Veranstaltung MyDelegate SomeEvent                                                                                                               >                 m_SomeEvent- =Wert;                                      >


40. Vermeiden Sie die Definition von
Ereignisbehandlung
. Verwenden Sie EventHandler
41. Vermeiden Sie die Anzeige von Triggerereignissen. Verwenden Sie EventsHelper, um Ereignisse sicher zu veröffentlichen.
42. Verwenden Sie immer Schnittstellen.
43. Das Verhältnis von Methoden und Eigenschaften in Schnittstellen und Klassen sollte etwa 2:1 betragen.
44. Vermeiden Sie Schnittstellen mit nur einem Mitglied.
45. Stellen Sie sicher, dass eine Schnittstelle 3 bis 5 Mitglieder hat. 46. Lassen Sie nicht zu, dass die Anzahl der Mitglieder in einer Schnittstelle 20 überschreitet, während 12 eine praktischere Grenze darstellt. 47. Vermeiden Sie die Einbeziehung von Ereignissen in Schnittstellen.
48. Stellen Sie bei Verwendung der
abstrakten Klasse
eine Schnittstelle bereit.
49. Stellen Sie Schnittstellen in Klassenvererbungsstrukturen bereit. 50. Es wird empfohlen, eine explizite Schnittstellenimplementierung zu verwenden.
SomeType obj1;  
           ImyInterface obj2;      
           /*Some code to initialize obj1,then:*/  
           obj2=obj1 as ImyInterface;  
           if(obj2!=null)  
           {  
           obj2.Method1();  
           }  
           else  
           {  
           //Handle erro in expected interface  
           }
51. Gehen Sie niemals davon aus, dass ein Typ eine Schnittstelle unterstützt. Fragen Sie immer nach, bevor Sie es verwenden.


SomeType obj1;
ImyInterface obj2; /*Einiger Code zum Initialisieren von obj1,then:*/
obj2=obj1 as ImyInterface; if(obj2!=null)
//避免  
           string name=””;  
           //正确  
           string name=String.Empty;
{ > else { //Fehler in der erwarteten Schnittstelle behandeln           }
52. Codieren Sie die dem Benutzer angezeigten Zeichenfolgen nicht fest. Ressourcen nutzen. 53. Codieren Sie keine Zeichenfolgen fest, die sich mit der Release-Umgebung ändern können, wie z. B. Datenbankverbindungszeichenfolgen. 54. Verwenden Sie String.Empty, um ""
//Avoid zu ersetzen.                                                                            // Stringname korrigieren =String.Empty;

55. Wenn Sie eine lange Zeichenfolge verwenden, verwenden Sie StringBuilder anstelle von string.
56. Vermeiden Sie die Bereitstellung von Methoden in Strukturen
a) Es wird empfohlen, parametrisierte Konstruktoren zu verwenden
b) Sie können Operatoren überladen
57. Bei der Deklaration Ausdrucksstarke Mitglieder stellen immer einen Ausdruckskonstruktor bereit.
58. Versuchen Sie, keine späte Bindung zu verwenden, wenn eine frühe Bindung möglich ist.
59. Sorgen Sie dafür, dass Ihre Anwendung die Ablaufverfolgung und Protokollierung unterstützt.
60. Verwenden Sie das Schlüsselwort goto nicht, außer um Codesprünge im Block switch-Anweisung zu implementieren.
61. Geben Sie im Standardfall einer switch-Anweisung immer eine Zusicherung an.

int number=SomeMethod(); Trace.Writeline ("case 1:")
int number=SomeMethod();  
           swith(number)  
           {  
           case 1:
              trace.WriteLine(“Case 1:”)  
           break;  
           case 2:  
           trace.Writeline(“Case 2:”);
           break;  
           default:  
           debug.Assert(false);  
           break;  
           }
Break; :

Trace.writeline ("Fall 2:");
Defaut:

Debug(false);
//Example of proper use of ‘this’  
           public class MyClass  
           {  
           public MyClass(string message)  
           {   }  
           public MyClass():this(“Hello”)  
           {   }
           }
              break;


//Beispiel für die ordnungsgemäße Verwendung von 'this' public class MyClass
//Example of proper use of ‘base’  
           public class Dog  
           {  
           public Dog(string name)  
           {  }  
           virtual public void Bark(int howlong)  
           {   }  
           }
           public class GermanShepherd:Dog  
           {  
            public GermanShepherd(string name):base(name)  
           {   }  
           override public void Bark(int howLong)  
           {  
           base.Bark(howLong)  
           }  
           }
{

public MyClass(string Nachricht)
                                                                                                                                                                                                                                                           >
63 Verwenden Sie nicht das Basisschlüsselwort, um auf Mitglieder einer Basisklasse zuzugreifen, es sei denn, Sie müssen einen Unterklassennamenskonflikt lösen, wenn Sie einen Basisklassenkonstruktor aufrufen

//Beispiel für die ordnungsgemäße Verwendung von 'base' public class Dog
Int CalcPower(int number,int power)  
           {  
           int result=1;  
           for (int count=1;count<=power;count++)
{
checked
{
result*=number;
}
}
return result;
}
{ <🎜> public Dog(string name) <🎜>                                    virtual public void Bark (int howlong)                                                                                      string name):base(name) <🎜>                                                                                                                                    int howLong) <🎜>.                >64 Verwenden Sie nicht GC.AddMemoryPressure() <🎜>65 Verlassen Sie sich nicht auf HandleCollector <🎜>66 Disponse()- und Finalize()-Methoden basierend auf dem Inhalt von Kapitel 4 in „Programmierung von .NET-Komponenten“ 2/e. <🎜>67. Führen Sie Code immer im ungeprüften Zustand aus (aus Leistungsgründen), aber um Überlauf- oder Unterlaufvorgänge zu verhindern, verwenden Sie unbedingt den geprüften Modus. <🎜><🎜>
Int CalcPower(int number,int power) <🎜>                                       count=1;count<=power;count++)                                                                            }  <🎜> 🎜>

68. Verwenden Sie bedingte Methoden, um den expliziten Methodenaufruf-Ausschlusscode (#if...#endif) zu ersetzen.

69 Definieren Sie keine Einschränkungen
in generischen Schnittstellen. Einschränkungen auf Schnittstellenebene können häufig durch starke Typisierung ersetzt werden.

öffentliche Klasse MyClass
public class MyClass
{
[Conditional(“MySpecialCondition”)]
public void MyMethod()
{}
}
                                                                                                                 }

Public class Customer
{}
//避免:
public interface Ilist where T:Customer  
           {}  

           //正确:  
           public interface IcustomerList:Ilist
Kunde der öffentlichen Klasse  

                                                                                                                                                           
{}

//Richtig:

öffentliche Schnittstelle IcustomerList:Ilist

70 Definieren Sie keine methodenbezogenen Einschränkungen für die Schnittstelle.

Das obige ist der detaillierte Inhalt vonZusammenfassung häufig verwendeter asp.net-Kenntnisse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage