
In informatica e programmazione, un operatore è un simbolo che specifica quale legge applicare a uno o più operandi, per generare un risultato. Gli operatori possono essere classificati in base al numero di operandi che accettano, ovvero in base al numero di dati su cui lavorano, o in base alle operazioni che svolgono e ad i risultati che forniscono. La prima divisione degli operatori presenti in C# e VB.NET in base al numero di operandi che accettano è la seguente:
- operatori unari (o unary) sono operatori che richiedono un solo operando e sono ad esempio l’operatore
notin VB.NET e!in C#; - operatori binari (o binary) lavorano su due operandi, come ad esempio gli operatori aritmetici più comuni o quelli di assegnamento;
- operatori ternari (o ternary) lavorano su tre operandi; sono operatori non molto comuni, uno dei rari esempi è l’operatore condizionale, usato in programmazione, rappresentato in C# attraverso il simbolo “
?” e in VB.NET attraverso la funzioneIf(). Il suo funzionamento è relativamente semplice. In C# la sintassiA?B:Csignifica che se A risulta essere vero allora il programma restituisce B, altrimenti viene restituito C. Analogamente, questa operazione può essere compiute in VB.NET attraverso la sintassiIf(A,B,C).
Una suddivisione per funzionalità degli operatori è la seguente:
- aritmetici: sono
+,-,*,/,%,\e lavorano su due operandi; - incremento e decremento: sono unari, rispettivamente aumentano o diminuiscono di uno l’unico operando che prendono;
- logici booleni: lavorano su dati booleani, ovvero variabili che possono assumere solo i valori vero e falso e servono a formulare condizioni composte; ne sono un esempio in
NOT,AND,OR,XORVB.NET, o gli equivalenti in C#!,&,|,^; - bitwise: consentono di manipolare direttamente i bit di un valore e sono uguali agli operatori logici, fatta eccezione per
!, che viene tradotto con~; - relazione: sono operatori binary che consentono di controllare la relazione tra due operandi, sono
<>,=,<,>,<=,>=,is,isnotin VB.NET e C#, fatta eccezione per i primi due dove in C# sono tradotti con!=,==; - concatenazione di stringhe: rispettivamente
&e+in VB.NET e C#, servono per la concatenazione di stringhe; - condizionali In VB.NET si utilizzano
ANDALSO,ORELSE, in C# sono tradotti con&&,||. Questi operatori differiscono dai logici perché quest’ultimi valutano i due termini operandi in ogni caso, mentre gli operatori condizionali valutano il secondo operando solo se strettamente necessario. Questo procedimento è detto short circuiting.