Vilka datatyper finns i C#

Vilka Datatyper Finns I C



Datatyper är en viktig aspekt av alla programmeringsspråk, och C# erbjuder flera datatyper som används för att deklarera variabler, definiera metoder och skapa objekt. I den här artikeln kommer vi att diskutera de olika datatyperna i C# och deras underkategorier, inklusive värde-, referens- och pekardatatyper.

Vilka datatyper finns i C#?

C# är en starkt skrivet programmeringsspråk , vilket innebär att alla variabler måste deklareras med en specifik datatyp och har tre huvudkategorier av datatyper:







1: Värdedatatyper

Värdedatatyper är de som lagrar sina värden direkt i minnet. De är allokerade på stacken och används ofta för att lagra mindre datamängder. Följande är underkategorierna för värdedatatyper:



Numerisk datatyp



Dessa datatyper används för att lagra numeriska värden. Numeriska datatyper är indelade i flera underkategorier, såsom decimaler, heltal och flyttal:





  • Heltal: Dessa datatyper används för att lagra heltal och underkategorierna av heltal inkluderar sbyte, byte, kort, ushort, int, uint, long och ulong. Värdeintervallet som varje heltalsdataformat kan innehålla varierar.
  • Flyttal: Dessa datatyper används för att lagra decimaltal och underkategorierna för flyttalstal inkluderar flytande och dubbla. Float kan lagra upp till 7 decimalsiffror, medan dubbel kan lagra upp till 15 decimalsiffror.
  • Decimaler: Dessa datatyper används för att lagra mycket exakta decimaltal. Decimal kan lagra upp till 28 decimalsiffror.

Boolesk datatyp

Booleska värden, som bara kan vara sanna eller falska, lagras i denna form av data.



Teckendatatyp

Enstaka tecken lagras med denna datatyp.

Exempel

Följande exempelkod illustrerar hur man använder värdedatatypen i C#:

använder System;

namnområde ValueDataTypesExample
{
klass program
{
statiskt tomrum Main ( sträng [ ] args )
{
int myInt = 5 ;
float myFloat = 3.14f;
dubbla myDouble = 3,14159265359 ;
bool myBool = Sann ;
char myChar = 'a' ;

Console.WriteLine ( 'Mitt heltalsvärde är:' + myInt ) ;
Console.WriteLine ( 'Mitt flytvärde är:' + myFloat ) ;
Console.WriteLine ( 'Mitt dubbla värde är:' + myDouble ) ;
Console.WriteLine ( 'Mitt booleska värde är:' + myBool ) ;
Console.WriteLine ( 'Mitt karaktärsvärde är:' + myChar ) ;
}
}
}

I det här exemplet har vi deklarerat och initierat variabler av olika värdedatatyper som int, float, double, bool och char. Vi skrev sedan ut värdena för dessa variabler med Console.WriteLine-metoden, resultatet av detta program blir:

2: Referensdatatyper

Referensdatatyper är de som lagrar en referens till den minnesplats där värdet är lagrat. De allokeras på högen och används vanligtvis för att lagra större mängder data. Följande är underkategorierna av referensdatatyper:

Klass

I C# är en klass en referenstyp som definierar en ritning för att skapa objekt.

Sträng

Denna referensdatatyp används för att lagra textdata, strängen är en referenstyp, men den beter sig som en värdetyp på många sätt.

Array

En samling värden av samma typ kan lagras med denna datatyp. Matriser är referenstyper, men de kan också bete sig som värdetyper i vissa fall.

Gränssnitt

Ett gränssnitt definierar en uppsättning metoder, egenskaper, händelser och indexerare, utan att tillhandahålla några implementeringsdetaljer.

Delegera

En delegat låter dig skicka en metod som ett argument till en annan metod och sedan anropa den metoden senare genom delegaten.

Exempel

Här är ett exempel på C#-kod som visar hur man använder referensdatatyper :

använder System;

klass Person
{
offentlig sträng Namn;
offentlig int Ålder;
}

klass program
{
statiskt tomrum Main ( sträng [ ] args )
{
Person person1 = ny person ( ) ;
person1.Namn = 'HAN SJÄLV' ;
person1.Ålder = tjugo ;

Person person2 = person1;
person2.Ålder = 30 ;

Console.WriteLine ( person1.Namn + ' är ' + person1. Ålder + ' år gammal.' ) ;
Console.WriteLine ( person2.Namn + ' är ' + person2.Ålder + ' år gammal.' ) ;
}
}

Klassen Person i det här exemplet har två offentliga fält: Name, som är av typen string, och Age, som är av typen int. Sedan gör vi en ny instans av klassen Person och tilldelar den till person1 i Main-metoden. Vi ändrar person1s namn och åldersattribut.

Därefter skapar vi en annan referensvariabel person2 och tilldelar den värdet person1. Vi ändrar sedan egenskapen ålder för person2 till 30.

Slutligen skriver vi ut namn och ålder på både person1 och person2. Lägg märke till att, ändra värdet på person2.Ålder ändrar också värdet på person1.Ålder , eftersom båda variablerna hänvisar till samma objekt i minne.

3: Pekardatatyper

Pekardatatyper används för att lagra minnesadressen för en annan variabel. De används i lågnivåprogrammering, såsom programmering på systemnivå eller utveckling av drivrutiner . I C# används inte pekardatatyper direkt , men de kan användas i osäkra kodblock. Följande är underkategorin för pekardatatyper:

Pekardatatyp

Denna datatyp används för att lagra minnesadressen för en annan variabel.

Här är ett exempel som visar användningen av pekardatatyper i C# men det kräver mycket omsorg:

använder System;

klass program {
statisk osäker tomrum Main ( ) {
int nummer = 10 ;
int * p = & på ett;
Console.WriteLine ( $ 'Värde på num: {num}' ) ;
Console.WriteLine ( $ 'Adress till nummer: {(long)p:X}' ) ;
Console.WriteLine ( $ 'Värde på num med pekare: {*p}' ) ;
Console.ReadLine ( ) ;
}
}

I det här exemplet använder vi nyckelordet osäkra för att tillåta användning av pekare. Vi deklarerar en variabel av int-typ och ger den värdet 10. Vi skapar sedan en pekarevariabel pekare av typen int* och tilldelar den minnesadressen för värdet med &-operatorn.

Dessutom kommer vi sedan åt värdet som lagras i värde genom att därav referera pekaren med *-operatorn, och vi kan också ändra värdet med samma operator:

Notera: Att använda pekare i C# kräver lite extra försiktighet och uppmärksamhet för att undvika minneshanteringsproblem, så de bör endast användas när det är nödvändigt och med försiktighet.

Slutsats

Det finns många olika datatyper tillgängliga i C# som kan användas för olika uppgifter. Mindre mängder data lagras med värdedatatyper och större mängder lagras med referensdatatyper. Pekardatatyper används i lågnivåprogrammering och används inte ofta i C#.