Tipuri de date în C#: Double, Integer, Float, Char

⚡ Rezumat inteligent

Tipurile de date în C# definesc tipul de valori pe care o variabilă le poate conține, de la numere întregi și numere cu virgulă mobilă până la valori booleene și de tip șir de caractere, și determină câtă memorie rezervă fiecare variabilă în timpul execuției programului.

  • 🔢 Tipuri întregi: Cuvântul cheie Int32 (int) stochează numere întregi precum 10, 20 sau 30 într-un interval de memorie fix.
  • 🔣 Tipuri cu virgulă mobilă: double și float rețin valori zecimale, în timp ce decimal oferă o precizie mai mare pentru calculele financiare.
  • ☑️ Tip boolean: Cuvântul cheie boolean stochează doar adevărat sau fals și acționează asupra logicii condiționale.
  • 🔤 Tipuri de text: char conține un singur caracter, iar string stochează o secvență de caractere sub formă de text.
  • 🧩 Valoare vs. referință: Tipurile de valoare stochează datele direct, în timp ce tipurile de referință, cum ar fi șirul de caractere, stochează o adresă de memorie.
  • 🤖 Asistență AI: GitHub Copilot și ML.NET aduc sugestii de cod și învățare automată în gestionarea tipurilor C#.

Tipuri de date în C#

Ce sunt tipurile de date în C#?

Limbajul C# vine cu un set de tipuri de date de bază. Aceste tipuri de date sunt folosite pentru a construi valori care sunt utilizate în cadrul unei aplicații. Să explorăm tipurile de date de bază disponibile în C#. Pentru fiecare exemplu, vom modifica doar funcția principală din fișierul Program.cs.

1) Număr întreg

Tipurile de date Integer sunt folosite pentru a lucra cu numere. În acest caz, numerele sunt numere întregi, cum ar fi 10, 20 sau 30. În C#, tipul de date este notat cu cuvânt cheie Int32. Mai jos este un exemplu despre cum poate fi utilizat acest tip de date. În exemplul nostru, vom defini o variabilă Int32 numită num. Apoi vom atribui o valoare întreagă variabilei și apoi o vom afișa în consecință.

Tipuri de date întregi în 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 Explicaţie:-

  1. Tipul de date Int32 este specificat pentru a declara o variabilă Integer numită num. Variabilei i se atribuie apoi o valoare de 30.
  2. În cele din urmă, funcția console.write este folosită pentru a afișa numărul pe consolă.

Dacă codul de mai sus este introdus corect și programul este executat cu succes, va fi afișată următoarea ieșire.

ieșire:

Tipuri de date întregi în C#

Din rezultat, puteți vedea clar că variabila Integer numită num a fost afișată în consolă

2) Double

Un tip de date dublu este folosit pentru a lucra cu zecimale. În acest caz, numerele sunt numere întregi precum 10.11, 20.22 sau 30.33. În C#, tipul de date este notat cu cuvântul cheie „Double„. Mai jos este un exemplu al acestui tip de date.

În exemplul nostru, vom defini o variabilă dublă numită num. Vom atribui apoi un Double valoarea variabilei și apoi afișați-o în consecință.

Double Tipuri de date în 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 Explicaţie:-

  1. Tipul de date dublu este specificat pentru a declara un tip dublu variabil numit num. Variabilei i se atribuie apoi o valoare de 30.33.
  2. În cele din urmă, funcția console.write este folosită pentru a afișa numărul pe consolă.

Dacă codul de mai sus este introdus corect și programul este executat cu succes, va fi afișată următoarea ieșire.

ieșire:

Double Tipuri de date în C#

Din rezultat, puteți vedea clar că variabila dublă numită num a fost afișată în consolă

3) boolean

Un tip de date boolean este utilizat pentru a lucra cu valorile booleene ale adevarat si fals. În C#, tipul de date este notat cu cuvântul cheie boolean. Mai jos este un exemplu al acestui tip de date care poate fi utilizat.

În exemplul nostru, vom defini o variabilă booleană numită „stare”. Apoi vom atribui o valoare booleană variabilei și apoi o vom afișa în consecință.

Tipuri de date booleene în 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 Explicaţie:-

  1. Tipul de date boolean este specificat pentru a declara o variabilă booleană numită „stare”. Variabilei i se atribuie apoi o valoare adevărat/fals.
  2. În cele din urmă, funcția console.write este folosită pentru a afișa valoarea booleană pe consolă.

Dacă codul de mai sus este introdus corect și programul este executat cu succes, rezultatul va fi afișat.

ieșire:

Tipuri de date booleene în C#

Din rezultat, puteți vedea clar că variabila booleană care este egală cu adevărat a fost afișată în consolă

4) Snur

Un tip de date String este folosit pentru a lucra cu valori String. În C#, tipul de date este notat cu cuvântul cheie „String”. Mai jos este un exemplu al acestui tip de date.

În exemplul nostru, vom defini o variabilă String numită „mesaj”. Apoi vom atribui o valoare String variabilei și apoi o vom afișa în consecință.

Tipuri de date șiruri în 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 Explicaţie:-

  1. Tipul de date String este specificat pentru a declara o variabilă șir numită mesaj. Variabilei i se atribuie apoi o valoare „Bună ziua”.
  2. În cele din urmă, funcția console.write este folosită pentru a afișa valoarea șirului pe consolă.

Dacă codul de mai sus este introdus corect și programul este executat cu succes, rezultatul va fi afișat.

ieșire:

Tipuri de date șiruri în C#

Din rezultat, puteți vedea clar că variabila String numită mesaj a fost afișată în consolă

Lista completă a tipurilor de date C#

Cele patru exemple de mai sus acoperă cele mai comune tipuri, dar C# oferă un set complet de tipuri de date cu valori încorporate. Fiecare tip rezervă o cantitate fixă ​​de memorie și acceptă un interval specific de valori, astfel încât alegerea celui mai mic tip care se potrivește în siguranță datelor dvs. menține un program eficient.

Tipul de date Mărimea Gamă / Description
octet 1 octet 0 la 255
mic de statura Bytes 2 -32,768 32,767 a
număr întreg (Int32) Bytes 4 -2,147,483,648 2,147,483,647 a
lung Bytes 8 Numere întregi foarte mari (±9.2 cvintilioane)
pluti Bytes 4 Zecimale cu o precizie de aproximativ 6-7 cifre
dubla Bytes 8 Zecimale cu o precizie de aproximativ 15-16 cifre
zecimal Bytes 16 Zecimale de înaltă precizie (28–29 de cifre) pentru bani
car de război Bytes 2 Un singur caracter Unicode
bool 1 octet adevărat sau fals

Alături de aceste tipuri de valori, tipul șir de caractere este cel mai utilizat tip de referință și stochează o secvență de caractere de orice lungime. Selectarea unui tip adecvat previne erorile de depășire a limitei de memorie și utilizarea inutilă a acesteia.

Tipuri de valori vs. tipuri de referință în C#

Fiecare tip de date C# se încadrează într-una din două grupuri: tipuri de valoare și tipuri de referință. Această distincție controlează modul în care C# stochează datele și cum se comportă o variabilă atunci când o copiați sau o transmiteți unei metode.

  • Tipuri de valori: Acestea stochează datele propriu-zise direct, de obicei pe stivă. int, double, bool, char, enumerareși struct sunt tipuri de valoare. Atribuirea unei variabile alteia copiază valoarea, astfel încât cele două variabile rămân independente.
  • Tipuri de referință: Acestea stochează o referință (o adresă de memorie) care indică date din heap. instanțele de tip string, object, array și class sunt tipuri de referință. Copierea unei variabile de referință copiază doar adresa, deci ambele variabile au același obiect.

O variabilă de tip valoare nu poate fi niciodată nulă, deoarece conține întotdeauna o valoare, în timp ce un tip de referință neinițializat are implicit valoarea nulă. Înțelegerea acestei diferențe vă ajută să preziceți modul în care modificările datelor se desfășoară printr-un program.

Conversia de tip în C#

C# trebuie frecvent să mute o valoare dintr-un tip de date în altul, cum ar fi transformarea intrării utilizatorului, care este întotdeauna text, într-un număr. Acest proces se numește conversie de tip și se întâmplă în trei moduri principale.

  • Conversie implicită: Compilatorul convertește automat atunci când nu există riscul de pierdere a datelor, cum ar fi atribuirea unui număr întreg unui număr double. Nu este necesară nicio sintaxă specială.
  • Conversie explicită (casting): Plasați tipul țintă între paranteze, de exemplu (int)myDoubleConvertirea unui număr dublu într-un număr întreg pierde date — conversia unui număr dublu într-un număr întreg elimină partea zecimală — așa că accepți riscul în mod deliberat.
  • Metode auxiliare: Clasa Convert (Convert.ToInt32) și metoda Parse a fiecărui tip (int.Parse) transformă șirurile de caractere în numere, în timp ce ToString transformă valorile înapoi în text lizibil.

Alegerea conversiei corecte menține acuratețea datelor și previne erorile de execuție atunci când tipurile de pe fiecare parte a unei atribuiri nu se potrivesc.

Întrebări frecvente

Valorile float, double și decimal stochează numere zecimale, dar diferă în ceea ce privește precizia și dimensiunea. „float” utilizează 4 octeți cu aproximativ 7 cifre, „double” utilizează 8 octeți cu aproximativ 15 cifre, iar „decimal” utilizează 16 octeți pentru valori financiare de înaltă precizie.

Nu există nicio diferență reală. int este un alias C# pentru tipul .NET System.Int32, deci int și Int32 se compilează exact la același rezultat. Majoritatea dezvoltatorilor scriu int pentru concizie, în timp ce Int32 face ca tipul framework-ului subiacent să fie explicit.

„șir” este un tip de referință, deoarece stochează o referință la datele de tip caracter din heap. Cu toate acestea, se comportă ca un tip de valoare într-un fel: șirurile sunt imuabile, deci fiecare modificare creează un nou obiect șir în loc să îl editeze pe cel vechi.

Un tip care acceptă valori nule permite unui tip de valoare, cum ar fi int sau bool, să conțină și valori nule, scrise cu un semn de întrebare la final, de exemplu int?. Este util pentru câmpuri opționale de date și baze de date, unde o valoare lipsă trebuie reprezentată distinct de zero sau fals.

Un char conține exact un caracter Unicode și folosește ghilimele simple, cum ar fi „A”. Un șir de caractere conține o secvență de zero sau mai multe caractere și folosește ghilimele duble. Un char este un tip valoare, în timp ce un șir de caractere este un tip referință.

`var` deduce tipul unei variabile la momentul compilării, iar acel tip este apoi corectat cu suport complet IntelliSense. `dynamic` amână verificarea tipului la momentul execuției, astfel încât erorile de tip apar doar în timpul execuției. Folosiți `var` pentru siguranță și `dynamic` pentru scenarii flexibile, cu limitări târzii.

Da. GitHub Copilot sugerează declarații de tip, conversii și exemple standard în Visual Studio și Visual Studio CodePoate recomanda un tip numeric potrivit sau poate genera cod de analiză, dar ar trebui să verificați rezultatul său, deoarece sugestiile pot omite probleme de precizie sau de depășire a limitelor.

Da. ML.NET mapează tipurile de date C# pentru a modela caracteristici, utilizând tipuri numerice precum float și double pentru datele de antrenare și string pentru text. Clasele de date puternic tipizate descriu fiecare coloană, astfel încât modelele de învățare automată se integrează natural în aplicațiile C#.

Rezumați această postare cu: