Vrste podataka u C#: Double, Integer, Float, Char

⚡ Pametni sažetak

Tipovi podataka u C# definiraju vrstu vrijednosti koje varijabla može sadržavati, od cijelih brojeva i brojeva s pomičnim zarezom do logičkih i string vrijednosti, te određuju koliko memorije svaka varijabla rezervira tijekom izvršavanja programa.

  • 🔢 Cjelobrojni tipovi: Ključna riječ Int32 (int) pohranjuje cijele brojeve poput 10, 20 ili 30 unutar fiksnog raspona memorije.
  • 🔣 Tipovi s pomičnim zarezom: double i float sadrže decimalne vrijednosti, dok decimal nudi veću preciznost za financijske izračune.
  • ☑️ Booleov tip: Ključna riječ Boolean pohranjuje samo vrijednosti true ili false i pokreće uvjetnu logiku.
  • 🔤 Vrste teksta: char sadrži jedan znak, a string pohranjuje niz znakova kao tekst.
  • 🧩 Vrijednost u odnosu na referencu: Vrijednosni tipovi izravno pohranjuju podatke, dok referentni tipovi poput stringa pohranjuju memorijsku adresu.
  • 🤖 AI pomoć: GitHub Copilot i ML.NET donose prijedloge koda i strojno učenje u rukovanje C# tipovima.

Vrste podataka u C#

Što su tipovi podataka u C#?

Jezik C# dolazi sa skupom osnovnih tipova podataka. Ove se vrste podataka koriste za izgradnju vrijednosti koje se koriste unutar aplikacije. Istražimo osnovne tipove podataka dostupne u C#. Za svaki primjer, izmijenit ćemo samo glavnu funkciju u našoj datoteci Program.cs.

1) Cijeli broj

Tipovi podataka Integer koriste se za rad s brojevima. U ovom slučaju, brojevi su cijeli brojevi poput 10, 20 ili 30. U C#, tip podataka je označen sa Ključna riječ Int32. Ispod je primjer kako se ovaj tip podataka može koristiti. U našem primjeru definirat ćemo Int32 varijablu koja se zove num. Tada ćemo varijabli dodijeliti vrijednost Integer i prikazati je u skladu s tim.

Cjelobrojni tipovi podataka u C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 { 
  static void Main(string[] args) 
  {
   Int32 num=30;
   Console.Write(num);  
   
   Console.ReadKey();
  }
 }
}

Code Obrazloženje:-

  1. Tip podataka Int32 naveden je za deklariranje varijable Integer pod nazivom num. Varijabli se zatim dodjeljuje vrijednost 30.
  2. Konačno, funkcija console.write koristi se za prikaz broja na konzoli.

Ako je gornji kod pravilno unesen i program je uspješno izvršen, prikazat će se sljedeći izlaz.

Izlaz:

Cjelobrojni tipovi podataka u C#

Iz izlaza možete jasno vidjeti da je varijabla Integer pod nazivom num prikazana u konzoli

2) Double

Dvostruki tip podataka koristi se za rad s decimalama. U ovom slučaju, brojevi su cijeli brojevi poput 10.11, 20.22 ili 30.33. U C#, tip podataka je označen ključnom riječi "Double“. Ispod je primjer ove vrste podataka.

U našem primjeru definirat ćemo dvostruku varijablu koja se zove num. Zatim ćemo dodijeliti a Double vrijednost varijabli i zatim je prikazati u skladu s tim.

Double Vrste podataka u C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 { 
  static void Main(string[] args) 
  {
   double num=30.33;
   Console.Write(num); 
   
   Console.ReadKey();
  }
 }
}

Code Obrazloženje:-

  1. Double tip podataka je specificiran za deklaraciju dvostrukog tipa varijabla zove br. Varijabli se tada dodjeljuje vrijednost 30.33.
  2. Konačno, funkcija console.write koristi se za prikaz broja na konzoli.

Ako je gornji kod pravilno unesen i program je uspješno izvršen, prikazat će se sljedeći izlaz.

Izlaz:

Double Vrste podataka u C#

Iz izlaza možete jasno vidjeti da je dvostruka varijabla pod nazivom num prikazana na konzoli

3) Booleov

Booleov tip podataka koristi se za rad s Booleovim vrijednostima istinito i lažno. U C#, tip podataka je označen ključnom riječi Boolean. Ispod je primjer za ovaj tip podataka koji se može koristiti.

U našem primjeru definirat ćemo Booleovu varijablu pod nazivom 'status'. Zatim ćemo varijabli dodijeliti Booleovu vrijednost i prikazati je u skladu s tim.

Booleovi tipovi podataka u C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
  { 
   static void Main(string[] args) 
   {
    Boolean status=true;
    Console.Write(status);
    
    Console.ReadKey();
   }
  }
}

Code Obrazloženje:-

  1. Boolean tip podataka naveden je za deklaraciju Booleove varijable pod nazivom 'status'. Varijabli se zatim dodjeljuje vrijednost true/false.
  2. Konačno, funkcija console.write koristi se za prikaz Booleove vrijednosti na konzoli.

Ako se gornji kod ispravno unese i program se uspješno izvede, prikazat će se izlaz.

Izlaz:

Booleovi tipovi podataka u C#

Iz izlaza možete jasno vidjeti da je Booleova varijabla koja je jednaka true prikazana u konzoli

4) Niz

Tip podataka String koristi se za rad s vrijednostima String. U C#, tip podataka je označen ključnom riječi 'String'. Ispod je primjer ove vrste podataka.

U našem primjeru definirat ćemo String varijablu pod nazivom 'message'. Zatim ćemo varijabli dodijeliti String vrijednost i zatim je prikazati u skladu s tim.

Vrste podataka niza u C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class program
 {
  static void Main(string[] args)
  {
   String message="Hello";
   Console.Write(message);
   
   Console.ReadKey();
  }
 }
}

Code Obrazloženje:-

  1. Tip podataka String naveden je za deklaraciju varijable niza koja se zove poruka. Varijabli se zatim dodjeljuje vrijednost "Hello".
  2. Konačno, funkcija console.write koristi se za prikaz vrijednosti niza na konzoli.

Ako se gornji kod ispravno unese i program se uspješno izvede, prikazat će se izlaz.

Izlaz:

Vrste podataka niza u C#

Iz izlaza možete jasno vidjeti da je String varijabla pod nazivom message prikazana u konzoli

Potpuni popis tipova podataka u C#

Četiri gornja primjera pokrivaju najčešće tipove, ali C# pruža cijeli skup ugrađenih tipova podataka vrijednosti. Svaki tip rezervira fiksnu količinu memorije i prihvaća određeni raspon vrijednosti, pa odabir najmanjeg tipa koji sigurno odgovara vašim podacima održava program učinkovitim.

Tip podataka Veličina Raspon / Description
bajt Bajt 1 0 255 se
kratak 2 bajtova -32,768 da 32,767
cijelo (Int32) 4 bajtova -2,147,483,648 da 2,147,483,647
dugo 8 bajtova Vrlo veliki cijeli brojevi (±9.2 kvintilijuna)
plutati 4 bajtova Decimale s preciznošću od otprilike 6-7 znamenki
dvostruko 8 bajtova Decimale s preciznošću od otprilike 15-16 znamenki
decimal 16 bajtova Decimale visoke preciznosti (28–29 znamenki) za novac
čađ 2 bajtova Jedan Unicode znak
bool Bajt 1 istina ili laž

Uz ove vrijednosne tipove, tip niza znakova je najčešće korišteni referentni tip i pohranjuje niz znakova bilo koje duljine. Odabir odgovarajućeg tipa sprječava pogreške prelijevanja i nepotrebno korištenje memorije.

Vrijednosni tipovi u odnosu na referentne tipove u C#

Svaki C# tip podataka spada u jednu od dvije skupine: tipove vrijednosti i tipove referenci. Ova razlika kontrolira kako C# pohranjuje podatke i kako se varijabla ponaša kada je kopirate ili prosljeđujete metodi.

  • Vrste vrijednosti: Oni pohranjuju stvarne podatke izravno, obično na stog. int, double, bool, char, nabrajanje, i struct su tipovi vrijednosti. Dodjeljivanjem jedne varijable drugoj kopira se vrijednost, tako da dvije varijable ostaju neovisne.
  • Vrste referenci: Oni pohranjuju referencu (memorijsku adresu) koja pokazuje na podatke na hrpi. String, objekt, nizovi i instance klase su referentni tipovi. Kopiranjem referentne varijable kopira se samo adresa, tako da obje varijable dijele isti objekt.

Varijabla vrijednosnog tipa nikada ne može biti null jer uvijek sadrži vrijednost, dok neinicijalizirani referentni tip ima zadanu vrijednost null. Razumijevanje ove razlike pomaže vam predvidjeti kako promjene u podacima teku kroz program.

Konverzija tipova u C#

C# često treba premjestiti vrijednost iz jednog tipa podataka u drugi, na primjer pretvoriti korisnički unos, koji je uvijek tekst, u broj. Taj se proces naziva pretvorba tipa i događa se na tri glavna načina.

  • Implicitna konverzija: Kompajler automatski pretvara kada ne postoji rizik od gubitka podataka, kao što je dodjeljivanje cijelog broja vrijednosti tipa double. Nije potrebna posebna sintaksa.
  • Eksplicitna konverzija (casting): Ciljni tip stavljate u zagrade, na primjer (int)myDoublePretvaranjem tipa double u cijeli broj gubi se decimalni dio, pa namjerno prihvaćate rizik.
  • Pomoćne metode: Klasa Convert (Convert.ToInt32) i metoda Parse svakog tipa (int.Parse) pretvaraju nizove znakova u brojeve, dok ToString pretvara vrijednosti natrag u čitljiv tekst.

Odabir ispravne konverzije održava podatke točnima i sprječava pogreške tijekom izvođenja kada se tipovi na svakoj strani dodjele ne podudaraju.

Pitanja i odgovori

Tipovi float, double i decimal pohranjuju decimalne brojeve, ali se razlikuju po preciznosti i veličini. float koristi 4 bajta s oko 7 znamenki, double koristi 8 bajtova s ​​oko 15 znamenki, a decimal koristi 16 bajtova za financijske vrijednosti visoke preciznosti.

Nema stvarne razlike. int je C# alias za tip .NET System.Int32, pa se int i Int32 kompajliraju u potpuno istu stvar. Većina programera piše int radi kratkoće, dok Int32 eksplicitno navodi temeljni tip okvira.

String je referentni tip jer pohranjuje referencu na znakovne podatke koji se nalaze na hrpi. Međutim, na jedan način se ponaša kao vrijednosni tip: stringovi su nepromjenjivi, pa svaka promjena stvara novi objekt stringa umjesto uređivanja starog.

Null-labilni tip omogućuje vrijednosnom tipu kao što je int ili bool da također sadrži null, napisan s upitnikom na kraju, na primjer int?. Koristan je za opcionalna polja podataka i baze podataka, gdje nedostajuća vrijednost mora biti predstavljena različito od nule ili false.

Znak sadrži točno jedan Unicode znak i koristi jednostruke navodnike, kao što je 'A'. Niz sadrži niz od nula ili više znakova i koristi dvostruke navodnike. Znak je vrijednosni tip, dok je niz referencijski tip.

Var zaključuje tip varijable tijekom kompajliranja, a taj se tip zatim fiksira uz punu IntelliSense podršku. Dinamic odlaže provjeru tipa na vrijeme izvođenja, pa se pogreške tipa pojavljuju samo tijekom izvršavanja. Koristite var za sigurnost, a dynamic za fleksibilne scenarije s kasnom vezom.

Da. GitHub Copilot predlaže deklaracije tipova, konverzije i standardne standarde unutar Visual Studija i Visual Studio CodeMože preporučiti prikladan numerički tip ili generirati kod za parsiranje, ali trebali biste pregledati njegov izlaz, jer prijedlozi mogu propustiti probleme s preciznošću ili prelijevanjem.

Da. ML.NET mapira C# tipove podataka na značajke modela, koristeći numeričke tipove kao što su float i double za podatke za učenje i string za tekst. Klase podataka s jakim tipom opisuju svaki stupac, pa se modeli strojnog učenja prirodno integriraju u C# aplikacije.

Sažmite ovu objavu uz: