Hvilke datatyper findes i C#

Hvilke Datatyper Findes I C



Datatyper er et vigtigt aspekt af ethvert programmeringssprog, og C# tilbyder flere datatyper, der bruges til at deklarere variabler, definere metoder og skabe objekter. I denne artikel vil vi diskutere de forskellige datatyper i C# og deres underkategorier, herunder værdi-, reference- og pointerdatatyper.

Hvilke datatyper findes i C#?

C# er en stærkt indtastet programmeringssprog , hvilket betyder, at alle variabler skal deklareres med en bestemt datatype og har tre hovedkategorier af datatyper:







1: Værdidatatyper

Værdidatatyper er dem, der gemmer deres værdier direkte i hukommelsen. De er allokeret på stakken og bruges ofte til lagring af mindre datasæt. Følgende er underkategorierne af værdidatatyper:



Numerisk datatype



Disse datatyper bruges til lagring af numeriske værdier. Numeriske datatyper er opdelt i flere underkategorier, såsom decimaler, heltal og flydende kommatal:





  • Heltal: Disse datatyper bruges til lagring af hele tal, og underkategorierne af heltal inkluderer sbyte, byte, short, ushort, int, uint, long og ulong. Det interval af værdier, som hvert heltalsdataformat kan indeholde, varierer.
  • Floating-point-tal: Disse datatyper bruges til at gemme decimaltal, og underkategorierne af flydende tal omfatter flydende og dobbelte. Float kan gemme op til 7 decimalcifre, mens double kan gemme op til 15 decimalcifre.
  • Decimaler: Disse datatyper bruges til at gemme meget præcise decimaltal. Decimal kan gemme op til 28 decimaler.

Boolesk datatype

Booleske værdier, som kun kan være sande eller falske, gemmes i denne form for data.



Karakterdatatype

Enkelte tegn gemmes ved hjælp af denne datatype.

Eksempel

Følgende eksempelkode illustrerer, hvordan man bruger værdidatatypen i C#:

bruger System;

navneområde ValueDataTypesExample
{
klasse program
{
statisk tomrum Main ( snor [ ] args )
{
int myInt = 5 ;
float myFloat = 3.14f;
dobbelt myDouble = 3.14159265359 ;
bool myBool = rigtigt ;
char myChar = 'en' ;

Console.WriteLine ( 'Min heltalsværdi er:' + myInt ) ;
Console.WriteLine ( 'Min flydende værdi er:' + myFloat ) ;
Console.WriteLine ( 'Min dobbelte værdi er:' + min Dobbelt ) ;
Console.WriteLine ( 'Min booleske værdi er:' + myBool ) ;
Console.WriteLine ( 'Min karakterværdi er:' + myChar ) ;
}
}
}

I dette eksempel har vi erklæret og initialiseret variabler af forskellige værdidatatyper såsom int, float, double, bool og char. Vi udskrev derefter værdierne af disse variable ved hjælp af Console.WriteLine metoden, outputtet af dette program vil være:

2: Referencedatatyper

Referencedatatyper er dem, der gemmer en reference til den hukommelsesplacering, hvor værdien er gemt. De er allokeret på heapen og bruges typisk til lagring af større mængder data. Følgende er underkategorierne af referencedatatyper:

klasse

I C# er en klasse en referencetype, der definerer en plan for at skabe objekter.

Snor

Denne referencedatatype bruges til lagring af tekstdata, strengen er en referencetype, men den opfører sig som en værditype på mange måder.

Array

En samling af værdier af samme type kan gemmes ved hjælp af denne datatype. Arrays er referencetyper, men de kan også opføre sig som værdityper i visse tilfælde.

Interface

En grænseflade definerer et sæt metoder, egenskaber, hændelser og indeksere uden at give nogen implementeringsdetaljer.

Delegeret

En delegeret giver dig mulighed for at videregive en metode som et argument til en anden metode og derefter påberåbe denne metode senere gennem delegaten.

Eksempel

Her er nogle eksempler på C#-kode, der viser, hvordan man bruger reference datatyper :

bruger System;

klasse Person
{
offentlig streng Navn;
offentlige in Alder;
}

klasses program
{
statisk tomrum Main ( snor [ ] args )
{
Person person1 = ny Person ( ) ;
person1.Navn = 'HAM SELV' ;
person1.Alder = tyve ;

Person person2 = person1;
person2.Alder = 30 ;

Console.WriteLine ( person1.Navn + 'er' + person1.Alder + ' år gammel.' ) ;
Console.WriteLine ( person2.Navn + 'er' + person2.Alder + ' år gammel.' ) ;
}
}

Klassen Person i dette eksempel har to offentlige felter: Navn, som er af typen streng, og Alder, som er af typen int. Derefter laver vi en ny forekomst af Person-klassen og tildeler den til person1 i Main-metoden. Vi ændrer person1s navn og aldersattributter.

Dernæst opretter vi en anden referencevariabel person2 og tildeler den værdien af ​​person1. Vi ændrer derefter aldersegenskaben for person2 til 30.

Til sidst udskriver vi navn og alder på både person1 og person2. Bemærk, at ændre værdien af person2.Alder ændrer også værdien af person1.Alder , da begge variabler refererer til det samme objekt i hukommelsen.

3: Pointer Datatyper

Pointerdatatyper bruges til at gemme hukommelsesadressen for en anden variabel. De bruges i programmering på lavt niveau, såsom programmering på systemniveau eller udvikling af enhedsdrivere . I C# bruges pointerdatatyper ikke direkte , men de kan bruges i usikre kodeblokke. Følgende er underkategorien af ​​pointerdatatyper:

Pointer Data Type

Denne datatype bruges til at gemme hukommelsesadressen for en anden variabel.

Her er et eksempel, der demonstrerer brugen af pointerdatatyper i C# selvom det kræver meget omhu:

bruger System;

klasses program {
statisk usikker tomrum Main ( ) {
int nummer = 10 ;
int * p = & på en;
Console.WriteLine ( $ 'Værdi af num: {num}' ) ;
Console.WriteLine ( $ 'Adresse på nummer: {(lang)p:X}' ) ;
Console.WriteLine ( $ 'Værdi af num ved hjælp af markør: {*p}' ) ;
Console.ReadLine ( ) ;
}
}

I dette eksempel bruger vi det usikre nøgleord til at tillade brugen af ​​pointere. Vi erklærer en int-type variabel og giver den værdien 10. Vi opretter derefter en pointer variabel pointer af typen int* og tildeler den værdiens hukommelsesadresse ved hjælp af & operatoren.

Ydermere får vi så adgang til værdien gemt i værdi ved at dereferere markøren ved hjælp af *-operatoren, og vi kan også ændre værdien ved at bruge den samme operator:

Bemærk: Brug af pointere i C# kræver lidt ekstra omhu og opmærksomhed for at undgå problemer med hukommelseshåndtering, så de bør kun bruges, når det er nødvendigt og med forsigtighed.

Konklusion

Der er mange forskellige datatyper tilgængelige i C#, som kan bruges til forskellige opgaver. Mindre mængder data gemmes ved hjælp af værdidatatyper, og større mængder gemmes ved hjælp af referencedatatyper. Pointerdatatyper bruges i lav-niveau programmering og er ikke almindeligt brugt i C#.