Innehållsförteckning:
Video: Minecraft | How To Get A Command Block in Minecraft! (Minecraft Command Blocks) 2024
Av Bill Sempf, Chuck Sphar, Stephen R. Davis
Om det finns något problem med. NET Framework från C # Programmerarens perspektiv, det är bara att det finns för mycket bra saker. Många klasser har så många egenskaper och händelser att det är svårt att komma ihåg vad de mest använda sakerna är. Här är grödans grädde i Samling, Konfiguration och Async-klasser, alla samman för enkel hänvisning.
Hålla saker i C # Collection Classes
Många variabler är för att lagra en sak, som ett tal eller en mening. Ett objekt kan ha många egenskaper, som lagrar mycket information om ett enda koncept. Ibland måste du bara hålla reda på en stor lista med saker. Det är här samlingsklasserna kommer in.
Samlingsklasserna i C # är fantastiska eftersom de kan hjälpa dig att behålla en lista med objekt, eller en grupp nycklar och värden, och tillhandahålla sök, proctoring och allmänna underhållsverktyg gratis. Det är mycket lättare än att skriva de tvåhundradedelande sorterna efter efternamn i denna månad.
C # har grundläggande samlingskurser, generiska samlingskurser och samtidiga samlingskurser. Dessa sistnämnda är för trådsäker verksamhet i en multiprocessormiljö. Alla dessa samlingskurser är användbara om du vet var och när du ska använda dem.
Vanliga samlingar
Vanliga samlingar lagrar otypade saker till dig. Om du inte vet exakt vad du ska lagra är vanliga samlingar för dig. De flesta allt i dessa klasser lagras som Objekt.
Klass | Beskrivning |
---|---|
ArrayList | Detta är bara en rakt samling objekt vars storlek
initialt deklareras, och den storleken ökas efter behov (men inte minskat). |
HashTable | Bara en tabell med två kolumner med nycklar och värden, där paren är
länkade för att sortera en hämtning. |
Queue | En första i, sista ut (FIFO) lista över objekt. Perfekt för att lagra
programprocesser. |
Stack | Som en kö, men senast i första ut (LIFO). |
Generiska samlingar
C # 2. 0 introducerade generiska samlingar. Generiska samlingar tillåter dig att lagra typade samlingar av föremål, som deklarerats vid körning.
Klass | Beskrivning |
---|---|
Ordbok | Bara en HastTable, förutom skrivet, så du behöver inte
lagra Objekt, Objekt. TKey och TValue är typer, så du kan lagra en lista om du vill . |
Lista | Detta är den nya Array. Det är en typad lista över objekt. Vid
långt, används den vanligaste samlingsklassen. Det är standardvärdet. Om du behöver en lista över personer är det en lista. |
Queue | Liknande den otypade köen, men väl, skrivet! |
SortedList | Denna fantastiska ordboken implementerar okompatibel så att den kan
sorteras. |
Stack | Precis som den otypade Stacken, förutom att skriva. |
Samtidiga samlingskurser
Slutligen ser de samtidiga klasserna att objekten du lagrar i en lista finns tillgängliga i vilket minne som helst, oavsett vilken processor som helst. Det är en större affär än du tror.
Klass | Beskrivning |
---|---|
BlockingCollection | Det är en trådsäker klass som hindrar en tråd
från att ändra ett fält som är tillgängligt med en annan tråd. Brilliant saker, verkligen. |
ConcurrentDictionary |
Med tanke på briljant kan denna uppsättning nyckel / värdet par vara
åtkomst av flera trådar. |
ConcurrentQueue | Kom ihåg att FIFO stack? Ja. Den här är generisk OCH tråd
säker. |
ConcurrentStack | De orkestrerade samlingarna är användbara. De är
fördelaktiga för minnet, för en sak. Hur som helst, den här är LIFO och trådsäker, också. |
Konfigurera C #
En hel namnrymd i klasserna är utformad för att konfigurera program som är skrivna i någon. NET-språk, som C #, VB. NET, eller någon av flera andra. Föremålen inom den är åtminstone lite svåra att navigera. Konfigurationen i. NET-applikationer sker i en. config-filen. Den här XML-formaterade filen har en nod och en hel rad projektspecifika noder inom. Att få en hänvisning till konfigurationen kräver ett samtal till OpenExeConfiguration.
System. Konfiguration. Konfiguration config = ConfigurationManager. OpenExeConfiguration ();
När det är klart, är det ganska enkelt att få en referens till en sektion. GetSection-metoden tar bara en sträng som är nodnamnet, och eftersom config-filen bara är text kan du ta den när som helst.
var sectionName = & ldquo; Vad som helst! & Rdquo;; Systemet. Konfiguration. AppSettingsSection section = (Systemkonfiguration. AppSettingsSection) config. GetSection (sectionName);
Du kan lägga till avsnitt i config-filen med hjälp av XML-manipuleringsverktygen i ramen. Du kan använda en förinställd grupp på sektioner för motsvarande funktionalitet.
Avsnitt | Beskrivning |
---|---|
Idrifttagning | Beskriver. NET version att använda. |
Runtime | Listar. NET-element att binda till körbar. |
Nätverk | Beskriver proxy och andra nätverksinställningar. |
Kryptografi | En plats för att hålla tillgängliga värden som refererar till kryptoressurser |
Konfiguration | Den mest använda sektionen. Det är där du behåller anpassade delar av config-filen. |
Spår / Debug | Två inställningar som låter dig ställa in spårning och loggning. |
Applikationsinställningar (appsettings) | Applikationsskannade saker som databasanslutningar. |
Webinställningar (webbinställningar) | ASP. NET specifika detaljer. |
Programmering Asynkront
Många Windows 8 handlar om att vara snabb och flytande. Sättet att göra detta är att använda asynkrona metoder i callbacks från långvarig funktionalitet.Problemet med detta är att i C # är det bästa sättet att genomföra en asynkron metod med tråder. Men du kan inte alltid vara beroende av när föremålen från en gängningsoperation kommer tillbaka. Det måste finnas viss kontroll om du vill att användarna ska kunna känna att det finns viss kontroll.
Ange async och vänta. async används för att deklarera en asynkron funktion som returnerar en uppgift. Alla asyncmetoder måste innehålla minst ett avvaktande uttryck. väntar C # att ta referenskod och köra den i en separat tråd än användartråden. Bordet bryter ner de nya asynkrona delarna av språket.
Uttalande | Beskrivning |
---|---|
async | En modifierare som visar kompilatorn att funktionen den
ändrar är asynkron. |
väntar | En operatör som avbryter utförandet av den innehållande
-metoden tills den väntade uppgiften är klar. |
Uppgift | Representerar en asynkron operation. |
Uppgift | En asynkron operation som returnerar ett värde. |
Uppgift. Fortsätt med | En fortsättning som startas efter att operationen i uppgiften
är klar. |