Dela via


Översikt över .NET-klassbibliotek

.NET-API:er omfattar klasser, gränssnitt, ombud och värdetyper som påskyndar och optimerar utvecklingsprocessen och ger åtkomst till systemfunktioner. För att underlätta samverkan mellan språk är de flesta .NET-typer CLS-kompatibla och kan därför användas från alla programmeringsspråk vars kompilator överensstämmer med den gemensamma språkspecifikationen (CLS).

.NET-typer är grunden till vilka .NET-program, komponenter och kontroller skapas. .NET innehåller typer som utför följande funktioner:

  • Representerar basdatatyper och undantag.
  • Kapsla in datastrukturer.
  • Utför I/O.
  • Få åtkomst till information om inlästa typer.
  • Anropa .NET-säkerhetskontroller.
  • Ge dataåtkomst, omfattande GUI på klientsidan och serverstyrt guid på klientsidan.

.NET tillhandahåller en omfattande uppsättning gränssnitt, samt abstrakta och konkreta (icke-abstrakta) klasser. Du kan använda de konkreta klasserna som de är eller i många fall härleda dina egna klasser från dem. Om du vill använda funktionerna i ett gränssnitt kan du antingen skapa en klass som implementerar gränssnittet eller härleda en klass från någon av de .NET-klasser som implementerar gränssnittet.

Namngivningskonventioner

.NET-typer använder ett punktsyntaxnamnsschema som anger en hierarki. Den här tekniken grupperar relaterade typer i namnområden så att de kan sökas igenom och refereras enklare. Den första delen av det fullständiga namnet , upp till den högra punkten, är namnområdets namn. Den sista delen av namnet är typnamnet. Representerar till exempel System.Collections.Generic.List<T> typen List<T> som tillhör System.Collections.Generic namnområdet. Typerna i System.Collections.Generic kan användas för att arbeta med generiska samlingar.

Det här namngivningsschemat gör det enkelt för biblioteksutvecklare som utökar .NET att skapa hierarkiska grupper av typer och namnge dem på ett konsekvent och informativt sätt. Det gör också att typer kan identifieras entydigt med sitt fullständiga namn (dvs. med deras namnområde och typnamn), vilket förhindrar kollisioner med typnamn. Biblioteksutvecklare förväntas använda följande konvention när de skapar namn för sina namnområden:

CompanyName.TechnologyName

Namnområdet Microsoft.Word följer till exempel den här riktlinjen.

Användning av namngivningsmönster för att gruppera relaterade typer i namnområden är ett användbart sätt att skapa och dokumentera klassbibliotek. Det här namngivningsschemat påverkar dock inte synlighet, medlemsåtkomst, arv, säkerhet eller bindning. Ett namnområde kan partitioneras över flera sammansättningar och en enda sammansättning kan innehålla typer från flera namnområden. Sammansättningen tillhandahåller den formella strukturen för versionshantering, distribution, säkerhet, inläsning och synlighet i den gemensamma språkkörningen.

Mer information om namnområden och typnamn finns i Common Type System.

Systemnamnområde

Namnområdet System är rotnamnområdet för grundläggande typer i .NET. Det här namnområdet innehåller klasser som representerar de basdatatyper som används av alla program, Object till exempel (roten i arvshierarkin), Byte, Char, Array, Int32och String. Många av dessa typer motsvarar de primitiva datatyper som ditt programmeringsspråk använder. När du skriver kod med hjälp av .NET-typer kan du använda språkets motsvarande nyckelord när en .NET-basdatatyp förväntas.

I följande tabell visas de bastyper som .NET tillhandahåller, beskriver kort varje typ och anger motsvarande typ i Visual Basic, C#, C++och F#.

Kategori Klassnamn beskrivning Visual Basic-datatyp C#-datatyp C++/CLI-datatyp F#-datatyp
Integer Byte Ett 8-bitars osignerat heltal. Byte byte unsigned char byte
SByte Ett 8-bitars signerat heltal.

Inte CLS-kompatibel.
SByte sbyte char eller signed char sbyte
Int16 Ett 16-bitars signerat heltal. Short short short int16
Int32 Ett 32-bitars signerat heltal. Integer int int eller long int
Int64 Ett 64-bitars signerat heltal. Long long __int64 int64
UInt16 Ett 16-bitars osignerat heltal.

Inte CLS-kompatibel.
UShort ushort unsigned short uint16
UInt32 Ett 32-bitars osignerat heltal.

Inte CLS-kompatibel.
UInteger uint unsigned int eller unsigned long uint32
UInt64 Ett 64-bitars osignerat heltal.

Inte CLS-kompatibel.
ULong ulong unsigned __int64 uint64
Flyttal Half Ett flyttal med halv precision (16 bitar).
Single Ett flyttalsnummer med enkel precision (32 bitar). Single float float float32 eller single
Double Ett flyttal med dubbel precision (64 bitar). Double double double float eller double
Logiskt Boolean Ett booleskt värde (sant eller falskt). Boolean bool bool bool
Övrigt Char Ett Unicode-tecken (16-bitars). Char char wchar_t char
Decimal Ett decimalvärde (128 bitar). Decimal decimal Decimal decimal
IntPtr Ett signerat heltal vars storlek beror på den underliggande plattformen (ett 32-bitars värde på en 32-bitarsplattform och ett 64-bitarsvärde på en 64-bitarsplattform). nint unativeint
UIntPtr Ett osignerat heltal vars storlek beror på den underliggande plattformen (ett 32-bitarsvärde på en 32-bitarsplattform och ett 64-bitarsvärde på en 64-bitarsplattform).

Inte CLS-kompatibel.
nuint unativeint
Object Roten i objekthierarkin. Object object Object^ obj
String En oföränderlig sträng med fast längd med Unicode-tecken. String string String^ string

Förutom basdatatyperna System innehåller namnområdet över 100 klasser, allt från klasser som hanterar undantag till klasser som hanterar grundläggande körningsbegrepp, till exempel programdomäner och skräpinsamlaren. Namnområdet System innehåller också många namnområden på andra nivån.

Mer information om namnområden finns i .NET API Browser för att bläddra i .NET-klassbiblioteket. API-referensdokumentationen innehåller dokumentation om varje namnområde, dess typer och var och en av deras medlemmar.

Datastrukturer

.NET innehåller en uppsättning datastrukturer som är arbetshästar för många .NET-appar. Det här är främst samlingar, men även andra typer.

  • Array – Representerar en matris med starkt typerade objekt som kan nås av index. Har en fast storlek, enligt konstruktionen.
  • List<T> – Representerar en starkt skriven lista över objekt som kan nås via index. Storleksändras automatiskt efter behov.
  • Dictionary<TKey,TValue> – Representerar en samling värden som indexeras av en nyckel. Värden kan nås via nyckel. Storleksändras automatiskt efter behov.
  • Uri – Ger en objektrepresentation av en enhetlig resursidentifierare (URI) och enkel åtkomst till URI:ns delar.
  • DateTime – Representerar ett ögonblick i tiden, vanligtvis uttryckt som datum och tid på dagen.

Api:er för verktyg

.NET innehåller en uppsättning verktygs-API:er som tillhandahåller funktioner för många viktiga uppgifter.

  • HttpClient – Ett API för att skicka HTTP-begäranden och ta emot HTTP-svar från en resurs som identifieras av en URI.
  • XDocument – Ett API för att läsa in och köra frågor mot XML-dokument med LINQ.
  • StreamReader – Ett API för att läsa filer.
  • StreamWriter – Ett API för att skriva filer.

Api:er för appmodell

Det finns många appmodeller som kan användas med .NET, till exempel:

  • ASP.NET – ett webbramverk för att skapa webbplatser och tjänster. Stöds i Windows, Linux och macOS (beror på ASP.NET version).
  • .NET MAUI – en appplattform för att skapa inbyggda appar som körs i Windows, macOS, iOS och Android med C#.
  • Windows Desktop – innehåller Windows Presentation Foundation (WPF) och Windows Forms.

Se även