.NET-osztálytár áttekintése
A .NET API-k olyan osztályokat, interfészeket, meghatalmazottakat és értéktípusokat tartalmaznak, amelyek felgyorsítják és optimalizálják a fejlesztési folyamatot, és hozzáférést biztosítanak a rendszerfunkciókhoz. A nyelvek közötti interoperabilitás megkönnyítése érdekében a legtöbb .NET-típus CLS-kompatibilis, ezért bármely olyan programozási nyelvről használható, amelynek fordítója megfelel a közös nyelvi specifikációnak (CLS).
A .NET-típusok a .NET-alkalmazások, -összetevők és -vezérlők felépítésének alapjai. A .NET az alábbi függvényeket végrehajtó típusokat tartalmazza:
- Alapadattípusokat és kivételeket jelöl.
- Adatstruktúrák beágyazása.
- I/O végrehajtása.
- A betöltött típusokkal kapcsolatos információk elérése.
- .NET biztonsági ellenőrzések meghívása.
- Biztosítson adathozzáférést, gazdag ügyféloldali grafikus felhasználói felületet és kiszolgáló által vezérelt, ügyféloldali grafikus felhasználói felületet.
A .NET számos interfészt, valamint absztrakt és konkrét (nem absztrakt) osztályokat biztosít. Használhatja a konkrét osztályokat is, vagy sok esetben saját osztályokat származtathat belőlük. Az interfész funkcióinak használatához létrehozhat egy osztályt, amely implementálja az interfészt, vagy egy osztályt az interfészt megvalósító .NET-osztályok egyikéből származtathat.
Elnevezési konvenciók
A .NET-típusok pontszintaxis-elnevezési sémát használnak, amely egy hierarchiát jelöl. Ez a technika névterekbe csoportosítja a kapcsolódó típusokat, hogy könnyebben lehessen keresni és hivatkozni rájuk. A teljes név első része – a jobb szélső pontig – a névtér neve. A név utolsó része a típusnév. Például System.Collections.Generic.List<T>
a List<T>
névtérhez tartozó System.Collections.Generic
típust jelöli. A benne lévő System.Collections.Generic típusok általános gyűjtemények kezelésére használhatók.
Ez az elnevezési séma megkönnyíti a .NET kiterjesztésű kódtár-fejlesztők számára, hogy hierarchikus típuscsoportokat hozzanak létre, és egységes, informatív módon nevezze el őket. Lehetővé teszi továbbá, hogy a típusok egyértelműen azonosíthatók legyenek a teljes nevükkel (azaz a névtér és a típusnév alapján), ami megakadályozza a típusnevek ütközését. A kódtár-fejlesztőknek a következő konvenciót kell használniuk a névterekhez tartozó nevek létrehozásakor:
CompanyName.TechnologyName
A névtér Microsoft.Word
például megfelel ennek az útmutatónak.
Az elnevezési minták használata a kapcsolódó típusok névterekbe való csoportosításához hasznos módszer az osztálykódtárak létrehozására és dokumentálására. Ez az elnevezési séma azonban nincs hatással a láthatóságra, a tagok hozzáférésére, az öröklésre, a biztonságra vagy a kötésre. A névterek több szerelvényen particionálhatók, és egyetlen szerelvény több névtérből származó típusokat is tartalmazhat. A szerelvény biztosítja a verziószámozás, az üzembe helyezés, a biztonság, a betöltés és a láthatóság formális struktúráját a közös nyelvi futtatókörnyezetben.
A névterekről és a típusnevekről további információt a Common Type System (Általános típusrendszer) című témakörben talál.
Rendszernévtér
A System névtér a .NET alapvető típusainak gyökérnévtere. Ez a névtér olyan osztályokat tartalmaz, amelyek az összes alkalmazás által használt alapadattípusokat képviselik, Object például (az öröklési hierarchia gyökerét), Byte, Char, Array, Int32és String. Számos ilyen típus megfelel a programozási nyelv által használt primitív adattípusoknak. Ha .NET-típusok használatával ír kódot, akkor a nyelv megfelelő kulcsszóját használhatja, ha .NET-alapadattípusra van szükség.
Az alábbi táblázat felsorolja azokat az alaptípusokat, amelyeket a .NET biztosít, röviden leírja az egyes típusokat, és a Visual Basic, C#, C++ és F# megfelelő típusát jelzi.
Kategória | Osztály neve | Leírás | Visual Basic adattípus | C# adattípus | C++/CLI adattípus | F# adattípus |
---|---|---|---|---|---|---|
Egész | Byte | Egy 8 bites aláíratlan egész szám. | Byte |
byte |
unsigned char |
byte |
SByte | Egy 8 bites aláírt egész szám. Nem CLS-kompatibilis. |
SByte |
sbyte |
char vagy signed char |
sbyte |
|
Int16 | 16 bites aláírt egész szám. | Short |
short |
short |
int16 |
|
Int32 | 32 bites aláírt egész szám. | Integer |
int |
int vagy long |
int |
|
Int64 | 64 bites aláírt egész szám. | Long |
long |
__int64 |
int64 |
|
UInt16 | 16 bites aláíratlan egész szám. Nem CLS-kompatibilis. |
UShort |
ushort |
unsigned short |
uint16 |
|
UInt32 | 32 bites aláíratlan egész szám. Nem CLS-kompatibilis. |
UInteger |
uint |
unsigned int vagy unsigned long |
uint32 |
|
UInt64 | 64 bites aláíratlan egész szám. Nem CLS-kompatibilis. |
ULong |
ulong |
unsigned __int64 |
uint64 |
|
Lebegőpontos | Half | Egy félpontos (16 bites) lebegőpontos szám. | ||||
Single | Egy egypontos (32 bites) lebegőpontos szám. | Single |
float |
float |
float32 vagy single |
|
Double | Dupla pontosságú (64 bites) lebegőpontos szám. | Double |
double |
double |
float vagy double |
|
Logikai | Boolean | Logikai érték (igaz vagy hamis). | Boolean |
bool |
bool |
bool |
Egyéb | Char | Unicode (16 bites) karakter. | Char |
char |
wchar_t |
char |
Decimal | Decimális (128 bites) érték. | Decimal |
decimal |
Decimal |
decimal |
|
IntPtr | Egy aláírt egész szám, amelynek mérete a mögöttes platformtól függ (32 bites érték egy 32 bites platformon és 64 bites érték egy 64 bites platformon). | nint |
unativeint |
|||
UIntPtr | Egy aláíratlan egész szám, amelynek mérete a mögöttes platformtól függ (32 bites érték egy 32 bites platformon és 64 bites érték egy 64 bites platformon). Nem CLS-kompatibilis. |
nuint |
unativeint |
|||
Object | Az objektumhierarchia gyökere. | Object |
object |
Object^ |
obj |
|
String | Unicode-karakterek nem módosítható, rögzített hosszúságú sztringje. | String |
string |
String^ |
string |
Az alapadattípusokon kívül a System névtér több mint 100 osztályt tartalmaz, a kivételeket kezelő osztályoktól kezdve az olyan osztályokig, amelyek az alapvető futtatókörnyezeti fogalmakkal foglalkoznak, például az alkalmazástartományokkal és a szemétgyűjtővel. A System névtér számos második szintű névteret is tartalmaz.
A névterekről további információt a .NET API Böngészőben talál a .NET-osztálytár tallózásához. Az API referenciadokumentációja dokumentációt nyújt az egyes névterekről, azok típusairól és tagjaikról.
Adatstruktúrák
A .NET olyan adatstruktúrákat tartalmaz, amelyek számos .NET-alkalmazás munkacsoportjai. Ezek többnyire gyűjtemények, de más típusokat is tartalmaznak.
- Array – Az index által elérhető, erősen gépelt objektumok tömbje. A szerkezetéhez rögzített méret tartozik.
- List<T> – Az index által elérhető objektumok erősen gépelt listáját jelöli. A rendszer szükség szerint automatikusan átméretezi.
- Dictionary<TKey,TValue> – Egy kulcs által indexelt értékek gyűjteményét jelöli. Az értékek kulcson keresztül érhetők el. A rendszer szükség szerint automatikusan átméretezi.
- Uri - Egy egységes erőforrás-azonosító (URI) objektumábrázolását és az URI részeihez való könnyű hozzáférést biztosítja.
- DateTime - Egy pillanatnyi időt jelöl, amely általában nap és nap időpontként van kifejezve.
Segédprogram API-k
A .NET számos olyan segédprogram API-t tartalmaz, amelyek számos fontos feladathoz biztosítanak funkciókat.
- HttpClient - API HTTP-kérések küldéséhez és HTTP-válaszok fogadásához egy URI által azonosított erőforrástól.
- XDocument – API XML-dokumentumok linq használatával való betöltéséhez és lekérdezéséhez.
- StreamReader - Api fájlok olvasásához.
- StreamWriter - Egy API fájlok írásához.
Alkalmazásmodell API-k
A .NET-tel számos alkalmazásmodell használható, például:
- ASP.NET – Web-keretrendszer webhelyek és szolgáltatások létrehozásához. Windows, Linux és macOS rendszeren támogatott (ASP.NET verziótól függ).
- .NET MAUI – Alkalmazásplatform Windows, macOS, iOS és Android rendszeren futó natív alkalmazások C# használatával történő létrehozásához.
- Windows Desktop – Tartalmazza a Windows megjelenítési alaprendszer (WPF) és a Windows Formst.