Variabile C# & Operators cu Exemplu

โšก Rezumat inteligent

Variabilele C# denumesc locaศ›iile de stocare care conศ›in valori tipizate, รฎn timp ce operatorii efectueazฤƒ acศ›iuni precum aritmetica, compararea ศ™i logica asupra acelor valori. รŽmpreunฤƒ, ele formeazฤƒ fundamentul fiecฤƒrei expresii ศ™i calcule pe care le executฤƒ un program C#.

  • ๐Ÿ“ฆ Variabile: O variabilฤƒ este o zonฤƒ de stocare denumitฤƒ al cฤƒrei tip de date stabileศ™te dimensiunea, aspectul ศ™i operaศ›iile valide pentru valoarea sa.
  • ๐Ÿ”ค Declaraลฃie: Declararea unui String ศ™i a unui Int32 aratฤƒ cum C# pฤƒstreazฤƒ text ศ™i numere รฎntregi, apoi le afiศ™eazฤƒ cu Console.Write.
  • โž— Operagrupuri de tor: Operatorii aritmetici, relaศ›ionali ศ™i logici acoperฤƒ matematica, comparaศ›iile ศ™i verificฤƒrile booleene care determinฤƒ luarea deciziilor รฎn cadrul programului.
  • ๐Ÿงฎ Atribuire ศ™i pe biศ›i: Operatorii compuศ™i, cum ar fi plus-egal, scurteazฤƒ actualizฤƒrile, รฎn timp ce operatorii bit la bit lucreazฤƒ asupra biศ›ilor individuali ai valorilor รฎntregi.
  • ๐Ÿ”ข Precedenta: OperaPrecedenศ›a ศ™i asociativitatea torurilor decid ordinea รฎn care C# evalueazฤƒ pฤƒrศ›ile unei expresii complexe.
  • ๐Ÿค– Asistenศ›ฤƒ AI: GitHub Copilot ศ™i ML.NET ajutฤƒ la generarea de declaraศ›ii de variabile, logicฤƒ de operatori ศ™i valori de mapare รฎn funcศ›ii de รฎnvฤƒศ›are automatฤƒ.

Variabile C# ศ™i Operatori

Variabile C#

O variabilฤƒ este un nume dat unei zone de stocare care este folositฤƒ pentru a stoca valori ale diferitelor tipuri de date. Fiecare variabilฤƒ din C# trebuie sฤƒ aibฤƒ un anumit tip, care determinฤƒ dimensiunea ศ™i aspectul memoriei variabilei.

De exemplu, o variabilฤƒ poate fi de tipul String, ceea ce รฎnseamnฤƒ cฤƒ va fi folositฤƒ pentru a stoca o valoare ศ™ir. Pe baza tipului de date, pot fi efectuate operaศ›iuni specifice asupra variabilei.

De exemplu, dacฤƒ am avea o variabilฤƒ รฎntreagฤƒ, atunci operaศ›ii precum adunarea ศ™i subconstituireatracO modificare poate fi efectuatฤƒ asupra variabilei. Se pot declara mai multe variabile รฎntr-un program.

Sฤƒ ne uitฤƒm la un exemplu rapid de declarare a mai multor variabile de diferite tipuri de date.

รŽn exemplul nostru, vom defini douฤƒ variabile, una de tip โ€žศ™irโ€ ศ™i cealaltฤƒ de tip โ€žIntegerโ€. Vom afiศ™a apoi valorile acestor variabile pe consolฤƒ. Pentru fiecare exemplu, vom modifica doar funcศ›ia principalฤƒ din fiศ™ierul Program.cs.

Variabile 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="The value is ";
   Int32 val=30;
   
   Console.Write(message+val);
   Console.ReadKey();
  }
 }
}

Code Explicaลฃie:-

  1. Este declaratฤƒ o variabilฤƒ de tipul de date String. Numele variabilei este โ€žmesajโ€. Valoarea variabilei este โ€žValoarea este โ€ž.
  2. Este declaratฤƒ o variabilฤƒ de tipul de date Integer (Int32). Numele variabilei este โ€žvalโ€. Valoarea variabilei este 30.
  3. รŽn cele din urmฤƒ, instrucศ›iunea Console.write este folositฤƒ pentru a scoate atรขt valoarea variabilei String, cรขt ศ™i Integer.

Dacฤƒ codul de mai sus este introdus corect ศ™i programul este executat cu succes, va fi afiศ™atฤƒ urmฤƒtoarea ieศ™ire.

ieศ™ire:

Variabile C#

Din rezultat, puteศ›i vedea cฤƒ valorile atรขt ale ศ™irului, cรขt ศ™i ale variabilei รฎntregi sunt afiศ™ate pe consolฤƒ.

Acum, cฤƒ variabilele pot conศ›ine valori, urmฤƒtorul pas este sฤƒ acศ›ionฤƒm asupra acelor valori. Operatorii sunt utilizaศ›i pentru a efectua operaศ›ii asupra valorilor diferitelor tipuri de date. De exemplu, pentru a efectua adunarea a 2 numere, se foloseศ™te operatorul +.

Sฤƒ vedem tabelul operatorilor disponibili pentru diferiศ›i tipuri de date.

C# Operatori

Aritmeticฤƒ Operatori

Aceศ™tia sunt operatori utilizaศ›i pentru efectuarea operaศ›iilor matematice cu numere. Mai jos este lista operatorilor disponibili รฎn C#.

OperaTdR Descriere
+ Adaugฤƒ doi operanzi
- Subtracts este al doilea operand din primul
* รŽnmulศ›eศ™te ambii operanzi
/ รŽmparte numฤƒrฤƒtorul la denumerator
% coeficient Operator ศ™i un rest de dupฤƒ o diviziune รฎntreagฤƒ
++ Operatorul de creศ™tere mฤƒreศ™te valoarea รฎntregului cu unu
- Operatorul de decrementare scade valoarea รฎntregului cu unu

Relaศ›ional Operatori

Aceศ™tia sunt operatori utilizaศ›i pentru efectuarea de operaศ›ii relaศ›ionale asupra numerelor. Mai jos este lista operatorilor relaศ›ionali disponibili รฎn C#.

OperaTdR Descriere
== Verificฤƒ dacฤƒ valorile a doi operanzi sunt egale sau nu, dacฤƒ da atunci condiศ›ia devine adevฤƒratฤƒ.
!= Verificฤƒ dacฤƒ valorile a doi operanzi sunt egale sau nu, dacฤƒ valorile nu sunt egale atunci condiศ›ia devine adevฤƒratฤƒ.
> Verificฤƒ dacฤƒ valoarea operandului din stรขnga este mai mare decรขt valoarea operandului din dreapta, dacฤƒ da atunci condiศ›ia devine adevฤƒratฤƒ.
< Verificฤƒ dacฤƒ valoarea operandului din stรขnga este mai micฤƒ decรขt valoarea operandului din dreapta, dacฤƒ da atunci condiศ›ia devine adevฤƒratฤƒ.
>= Verificฤƒ dacฤƒ valoarea operandului din stรขnga este mai mare sau egalฤƒ cu valoarea operandului din dreapta, dacฤƒ da atunci condiศ›ia devine adevฤƒratฤƒ.
<= Verificฤƒ dacฤƒ valoarea operandului din stรขnga este mai micฤƒ sau egalฤƒ cu valoarea operandului din dreapta, dacฤƒ da atunci condiศ›ia devine adevฤƒratฤƒ.

Logic Operatori

Aceศ™tia sunt operatori utilizaศ›i pentru efectuarea de operaศ›ii logice asupra valorilor. Mai jos este lista operatorilor disponibili รฎn C#.

OperaTdR Descriere
&& Acesta este operatorul logic AND. Dacฤƒ ambii operanzi sunt adevฤƒrati, atunci condiศ›ia devine adevฤƒratฤƒ.
|| Acesta este operatorul SAU logic. Dacฤƒ oricare dintre operanzi este adevฤƒrat, atunci condiศ›ia devine adevฤƒratฤƒ.
! Acesta este operatorul logic NOT.

Sฤƒ vedem un exemplu rapid despre cum pot fi utilizaศ›i operatorii รฎn .NET.

รŽn exemplul nostru, vom defini 2 variabile รฎntregi ศ™i o variabilฤƒ booleanฤƒ. Vom efectua apoi operaศ›ii aritmetice, relaศ›ionale ศ™i logice asupra lor.

C# Operatori

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 val1 = 10,val2 = 20;
   bool status = true;
   
   Console.WriteLine(val1 + val2);
   Console.WriteLine(val1 < val2);
   Console.WriteLine(!(status));
   Console.ReadKey();
  }
 }
}

Code Explicaลฃie:-

  1. Sunt definite douฤƒ variabile รฎntregi, una fiind val1 ศ™i cealaltฤƒ fiind val2. Acestea vor fi folosite pentru a prezenta operaศ›ii relaศ›ionale ศ™i aritmetice. O variabilฤƒ booleanฤƒ este definitฤƒ pentru a prezenta operaศ›iile logice.
  2. Este prezentat un exemplu de operaศ›ie aritmeticฤƒ รฎn care operatorul de adฤƒugare este efectuat pe val1 ศ™i val2. Rezultatul este scris pe consolฤƒ.
  3. Este prezentat un exemplu de operaศ›ie relaศ›ionalฤƒ รฎn care operatorul mai mic decรขt este efectuat pe val1 ศ™i val2. Rezultatul este scris pe consolฤƒ.
  4. Este prezentat un exemplu de operaศ›ie logicฤƒ, รฎn care operatorul logic (!) este aplicat variabilei de stare. Operatorul logic NOT inverseazฤƒ valoarea curentฤƒ a oricฤƒrei valori booleene. Deci, dacฤƒ o valoare booleanฤƒ este โ€žadevฤƒratฤƒโ€, NOT logic va returna valoarea โ€žfalsฤƒโ€ ศ™i invers. รŽn cazul nostru, deoarece valoarea variabilei de stare este โ€žadevฤƒratฤƒโ€, rezultatul va afiศ™a โ€žfalsโ€. Rezultatul este scris pe consolฤƒ.

Dacฤƒ codul de mai sus este introdus corect ศ™i programul este executat cu succes, rezultatul va fi afiศ™at.

ieศ™ire:

C# Operatori

Temฤƒ C# Operatori

Operatorii de atribuire stocheazฤƒ rezultatul unei expresii รฎntr-o variabilฤƒ. Operatorul de atribuire de bazฤƒ este semnul egal, iar C# oferฤƒ ศ™i operatori compuศ™i care combinฤƒ atribuirea cu o operaศ›ie aritmeticฤƒ sau bit la bit. Aceste forme prescurtate menศ›in instrucศ›iunile de actualizare scurte ศ™i uศ™or de citit.

OperaTdR Descriere
= Atribuie valoarea operandului din dreapta operandului din stรขnga
+= Adunฤƒ operandul din dreapta la operandul din stรขnga ศ™i atribuie rezultatul
-= Subtracts operandul din dreapta faศ›ฤƒ de operandul din stรขnga ศ™i atribuie rezultatul
*= รŽnmulศ›eศ™te ambii operanzi ศ™i atribuie rezultatul operandului din stรขnga
/= รŽmparte operandul din stรขnga la operandul din dreapta ศ™i atribuie rezultatul
%= Preia modulul ambilor operanzi ศ™i atribuie restul operandului din stรขnga

De exemplu, scrierea count += 5 este o modalitate mai scurtฤƒ de a scrie count = count + 5. Operatorii de atribuire compuศ™i funcศ›ioneazฤƒ cu fiecare operator aritmetic ศ™i, de asemenea, cu operatorii bit la bit, aศ™a cฤƒ apar adesea รฎn bucle ศ™i contoare unde o valoare este actualizatฤƒ รฎn mod repetat.

C# bit la bit Operatori

Operatorii bit cu bit acศ›ioneazฤƒ asupra biศ›ilor individuali ai valorilor รฎntregi, mai degrabฤƒ decรขt asupra numฤƒrului รฎntreg. Aceศ™tia sunt utili pentru sarcini de nivel scฤƒzut, cum ar fi setarea de steaguri, mascarea valorilor ศ™i efectuarea rapidฤƒ a รฎnmulศ›irii sau รฎmpฤƒrศ›irii la puteri de doi.

OperaTdR Descriere
& Operaศ›ia AND pe biศ›i seteazฤƒ fiecare bit de rezultat la 1 numai atunci cรขnd ambii biศ›i potriviศ›i sunt 1
| Operaศ›ia SAU pe biศ›i seteazฤƒ fiecare bit de rezultat la 1 atunci cรขnd oricare dintre biศ›ii potriviศ›i este 1
^ XOR pe biศ›i seteazฤƒ fiecare bit de rezultat la 1 numai atunci cรขnd cei doi biศ›i potriviศ›i diferฤƒ
~ Complementul bit la bit inverseazฤƒ fiecare bit al operandului sฤƒu individual
<< Shift-ul la stรขnga mutฤƒ biศ›ii la stรขnga ศ™i umple poziศ›iile goale cu zerouri
>> Deplasarea la dreapta mutฤƒ biศ›ii la dreapta cu numฤƒrul dat de poziศ›ii

De exemplu, expresia 5 ศ™i 3 comparฤƒ biศ›ii ambelor numere ศ™i returneazฤƒ 1. Deoarece o singurฤƒ deplasare la stรขnga dubleazฤƒ o valoare, operatorii bit la bit pot face unele calcule mai rapid decรขt echivalentele lor aritmetice, ceea ce conteazฤƒ รฎn graficฤƒ ศ™i cod รฎncorporat.

C# OperaPrecedenศ›ฤƒ ศ™i asociativitate a torurilor

Cรขnd o expresie conศ›ine mai mulศ›i operatori, C# nu รฎi evalueazฤƒ pur ศ™i simplu de la stรขnga la dreapta. OperaPrecedenศ›a operatorilor stabileศ™te ordinea รฎn care ruleazฤƒ diferiศ›i operatori, iar asociativitatea decide ordinea atunci cรขnd doi operatori au aceeaศ™i precedenศ›ฤƒ.

  • Precedenta: รŽnmulศ›irea ศ™i รฎmpฤƒrศ›irea se executฤƒ รฎnainte de adunare ศ™i subtrageretracศ›ie, deci 2 + 3 * 4 dฤƒ 14, nu 20.
  • Asociativitate stรขngฤƒ: Majoritatea operatorilor binari se grupeazฤƒ de la stรขnga la dreapta, astfel รฎncรขt a โ€“ b โ€“ c se evalueazฤƒ ca (a โ€“ b) โ€“ c.
  • Asociativitate dreaptฤƒ: Operatorii de atribuire ศ™i condiศ›ionali se grupeazฤƒ de la dreapta la stรขnga, deci x = y = z atribuie z lui y mai รฎntรขi.
  • Paranteze: Wrapping O parte a unei expresii din paranteze suprascrie ordinea implicitฤƒ ศ™i clarificฤƒ calculul intenศ›ionat.

Bazarea pe paranteze รฎn loc sฤƒ memoreze รฎntregul tabel de precedenศ›ฤƒ menศ›ine expresiile complexe lizibile ศ™i ajutฤƒ la prevenirea erorilor subtile de calcul.

รŽntrebฤƒri frecvente

O variabilฤƒ รฎศ™i poate schimba valoarea รฎn timpul execuศ›iei, รฎn timp ce o constantฤƒ, declaratฤƒ cu cuvรขntul cheie const, este fixฤƒ โ€‹โ€‹la momentul compilฤƒrii ศ™i nu se modificฤƒ niciodatฤƒ. Folosiศ›i variabile pentru datele care se actualizeazฤƒ ศ™i constante pentru valori precum Pi care rฤƒmรขn la fel.

Cuvรขntul cheie var permite compilatorului sฤƒ deducฤƒ tipul unei variabile locale din iniศ›ializatorul sฤƒu, astfel รฎncรขt var count = 10 creeazฤƒ un numฤƒr รฎntreg. Variabila este รฎn continuare puternic tipizatฤƒ; var eliminฤƒ doar necesitatea de a scrie explicit numele tipului.

Un semn egal simplu este operatorul de atribuire, care stocheazฤƒ o valoare รฎntr-o variabilฤƒ. Un semn egal dublu este operatorul de egalitate, care comparฤƒ douฤƒ valori ศ™i returneazฤƒ adevฤƒrat sau fals. Confuzia celor douฤƒ este o greศ™ealฤƒ frecventฤƒ a รฎncepฤƒtorilor.

Un operator unar lucreazฤƒ asupra unui singur operand, cum ar fi operatorul logic NOT ! sau incrementarea ++. Un operator binar lucreazฤƒ asupra a doi operanzi, cum ar fi + pentru adunare sau && pentru operator logic AND. C# are, de asemenea, un operator ternar.

Operatorul ternar ?: este o prescurtare pentru o instrucศ›iune if-else. Evalueazฤƒ o condiศ›ie, apoi returneazฤƒ prima valoare cรขnd condiศ›ia este adevฤƒratฤƒ ศ™i a doua cรขnd este falsฤƒ, ca รฎn int max = a > b ? a : b.

Operatorul de coalescere nulฤƒ ?? returneazฤƒ operandul sฤƒu din stรขnga atunci cรขnd valoarea respectivฤƒ nu este nulฤƒ, altfel returneazฤƒ operandul din dreapta. De exemplu, numele ?? โ€žGuestโ€ furnizeazฤƒ o valoare implicitฤƒ. Varianta ??= atribuie o valoare numai atunci cรขnd ศ›inta este รฎn prezent nulฤƒ.

Da. GitHub Copilot sugereazฤƒ declaraศ›ii de variabile, expresii de operatori ศ™i atribuiri compuse รฎn Visual Studio ศ™i VS Codeศ™i poate finaliza un calcul dintr-un comentariu. RevVizualizaศ›i fiecare sugestie pentru tipurile de date corecte ศ™i ordinea de prioritate intenศ›ionatฤƒ.

Conductele ML.NET se bazeazฤƒ pe variabile C# pentru a stoca caracteristici ศ™i etichete ศ™i pe operatori pentru a le normaliza sau combina รฎnainte de antrenament. Valorile numerice ศ™i booleene se mapeazฤƒ perfect la intrฤƒrile modelului, ceea ce menศ›ine un flux de lucru de รฎnvฤƒศ›are automatฤƒ puternic tipizat ศ™i previzibil.

Rezumaศ›i aceastฤƒ postare cu: