Jaké datové typy existují v C#

Jake Datove Typy Existuji V C



Datové typy jsou důležitým aspektem jakéhokoli programovacího jazyka a C# nabízí několik datových typů, které se používají k deklaraci proměnných, definování metod a vytváření objektů. V tomto článku probereme různé datové typy v C# a jejich podkategorie, včetně datových typů hodnota, reference a ukazatel.

Jaké datové typy existují v C#?

C# je a silně typovaný programovací jazyk , což znamená, že všechny proměnné musí být deklarovány s konkrétním datovým typem a má tři hlavní kategorie datových typů:







1: Typy hodnotových dat

Hodnotové datové typy jsou takové, které ukládají své hodnoty přímo do paměti. Jsou alokovány na zásobníku a často se používají pro ukládání menších datových sad. Následují podkategorie hodnotových datových typů:



Číselný datový typ



Tyto datové typy se používají pro ukládání číselných hodnot. Číselné datové typy jsou rozděleny do několika podkategorií, jako jsou desetinná místa, celá čísla a čísla s plovoucí desetinnou čárkou:





  • Celá čísla: Tyto datové typy se používají pro ukládání celých čísel a mezi podkategorie celých čísel patří sbyte, byte, short, ushort, int, uint, long a ulong. Rozsah hodnot, které může každý formát celočíselných dat obsahovat, se liší.
  • Čísla s plovoucí desetinnou čárkou: Tyto datové typy se používají pro ukládání desetinných čísel a podkategorie čísel s plovoucí desetinnou čárkou zahrnují float a double. Float může uložit až 7 desetinných míst, zatímco double může uložit až 15 desetinných míst.
  • desetinná místa: Tyto datové typy se používají k ukládání vysoce přesných dekadických celých čísel. Decimal může uložit až 28 desetinných číslic.

Booleovský datový typ

V této formě dat jsou uloženy booleovské hodnoty, které mohou být pouze pravdivé nebo nepravdivé.



Typ dat znaků

Pomocí tohoto datového typu jsou uloženy jednotlivé znaky.

Příklad

Následující příklad kódu ukazuje, jak využít datový typ hodnoty v C#:

pomocí systému;

jmenný prostor ValueDataTypesPříklad
{
třídní program
{
statické prázdno Hlavní ( tětiva [ ] argumenty )
{
int myInt = 5 ;
float myFloat = 3,14f;
double myDouble = 3,14159265359 ;
bool myBool = skutečný ;
char myChar = 'A' ;

Console.WriteLine ( 'Moje celočíselná hodnota je:' + myInt ) ;
Console.WriteLine ( 'Moje plovoucí hodnota je:' + myFloat ) ;
Console.WriteLine ( 'Moje dvojí hodnota je:' + myDouble ) ;
Console.WriteLine ( 'Moje booleovská hodnota je:' + myBool ) ;
Console.WriteLine ( 'Hodnota mé postavy je:' + myChar ) ;
}
}
}

V tomto příkladu jsme deklarovali a inicializovali proměnné různých hodnotových datových typů, jako je int, float, double, bool a char. Hodnoty těchto proměnných jsme následně vytiskli pomocí metody Console.WriteLine, výstupem tohoto programu bude:

2: Referenční datové typy

Referenční datové typy jsou takové, které ukládají odkaz na paměťové místo, kde je uložena hodnota. Jsou alokovány na haldě a obvykle se používají pro ukládání většího množství dat. Níže jsou uvedeny podkategorie referenčních datových typů:

Třída

V C# je třída referenčním typem, který definuje plán pro vytváření objektů.

Tětiva

Tento referenční datový typ se používá pro ukládání textových dat, řetězec je referenčním typem, ale v mnoha ohledech se chová jako hodnotový typ.

Pole

Pomocí tohoto datového typu lze uložit kolekci hodnot stejného typu. Pole jsou referenční typy, ale v určitých případech se mohou chovat také jako hodnotové typy.

Rozhraní

Rozhraní definuje sadu metod, vlastností, událostí a indexátorů bez poskytnutí jakýchkoli podrobností o implementaci.

Delegát

Delegát vám umožňuje předat metodu jako argument jiné metodě a poté tuto metodu vyvolat později prostřednictvím delegáta.

Příklad

Zde je nějaký ukázkový kód C#, který ukazuje, jak používat referenční datové typy :

pomocí systému;

třída Osoba
{
veřejný řetězec Jméno;
public int Věk;
}

třídní program
{
statické prázdno Hlavní ( tětiva [ ] argumenty )
{
Osoba osoba1 = nová osoba ( ) ;
osoba1.Jméno = 'SÁM' ;
osoba1.Věk = dvacet ;

Osoba osoba2 = osoba1;
osoba2.Věk = 30 ;

Console.WriteLine ( osoba1.Jméno + ' je ' + osoba1.Věk + 'let starý.' ) ;
Console.WriteLine ( osoba2.Jméno + ' je ' + osoba2.Věk + 'let starý.' ) ;
}
}

Třída Person v tomto příkladu má dvě veřejná pole: Name, což je typ string, a Age, které je typu int. Poté vytvoříme novou instanci třídy Person a přiřadíme ji osobě1 v metodě Main. Upravujeme atributy Jméno a Věk osoby1.

Dále vytvoříme další referenční proměnnou osoba2 a přiřadíme jí hodnotu osoba1. Poté změníme vlastnost Age of person2 na 30.

Nakonec vytiskneme jméno a věk osoby1 a osoby2. Všimněte si, že změníte hodnotu osoba2.Věk také mění hodnotu osoba1.Věk , protože obě proměnné odkazují na totéž objekt v paměti.

3: Datové typy ukazatele

Datové typy ukazatel se používají pro uložení paměťové adresy jiné proměnné. Používají se při programování na nízké úrovni, jako je programování na úrovni systému nebo vývoj ovladačů zařízení . V C# se datové typy ukazatelů nepoužívají přímo , ale mohou být použity v nebezpečných blocích kódu. Následuje podkategorie datových typů ukazatelů:

Typ dat ukazatele

Tento datový typ se používá pro uložení paměťové adresy jiné proměnné.

Zde je příklad, který demonstruje použití datové typy ukazatelů v C# i když to vyžaduje hodně péče:

pomocí systému;

třídní program {
static unsafe void Main ( ) {
int číslo = 10 ;
int * p = & na jednom;
Console.WriteLine ( $ 'Value of num: {num}' ) ;
Console.WriteLine ( $ 'Adresa čísla: {(long)p:X}' ) ;
Console.WriteLine ( $ 'Hodnota num pomocí ukazatele: {*p}' ) ;
Console.ReadLine ( ) ;
}
}

V tomto příkladu používáme klíčové slovo unsafe, abychom umožnili použití ukazatelů. Deklarujeme proměnnou typu int a přidělíme jí hodnotu 10. Poté vytvoříme proměnnou pointer pointer typu int* a pomocí operátoru & jí přiřadíme paměťovou adresu hodnoty.

Dále pak přistupujeme k hodnotě uložené v hodnotě dereferencováním ukazatele pomocí operátoru * a můžeme také upravit hodnotu pomocí stejného operátoru:

Poznámka: Používání ukazatelů v C# vyžaduje zvláštní péči a pozornost, aby se předešlo problémům se správou paměti, proto by se měly používat pouze v případě potřeby a opatrně.

Závěr

V C# je k dispozici mnoho různých datových typů, které lze využít pro různé úkoly. Menší objemy dat se ukládají pomocí hodnotových datových typů a větší objemy se ukládají pomocí referenčních datových typů. Datové typy ukazatelů se používají v nízkoúrovňovém programování a v C# se běžně nepoužívají.