Confronto tra operatori in diversi linguaggi
Aggiornamento: novembre 2007
In questo argomento vengono elencati gli operatori per Visual Basic, Visual J#, C++, C#, JScript e Visual FoxPro.
Per informazioni sugli operatori in questo linguaggio |
Vedere |
---|---|
Visual Basic |
|
C++ |
|
C# |
|
JScript |
Confronto tra operatori in base al linguaggio
|
Visual Basic |
C++ |
C# |
JScript |
Visual FoxPro |
---|---|---|---|---|---|
Addizione |
|
|
|
|
|
Somma |
+ |
+ |
+ |
+ |
+ |
Sottrazione |
- |
- |
- |
- |
- |
Moltiplicazione |
|
|
|
|
|
Moltiplicazione |
* |
* |
* |
* |
* |
Divisione |
/ |
/ |
/ |
/ |
/ |
Divisione di integer |
\ |
/1 |
/1 |
|
|
Divisione modulo (con restituzione soltanto del resto) |
Mod (funziona anche con virgola mobile) |
% |
% |
% (funziona anche con virgola mobile) |
% Mod |
Elevamento a potenza |
^ |
n/d |
n/d |
n/d |
^ ** |
Assegnazione |
|
|
|
|
|
Assegnazione |
= |
= |
= |
= |
= |
Somma |
+= |
+= |
+= |
+= |
+ |
Sottrazione |
-= |
-= |
-= |
-= |
- |
Moltiplicazione |
*= |
*= |
*= |
*= |
* |
Divisione |
/= |
/= |
/= |
/= |
/ |
Divisione di integer |
\= |
n/d |
/=1 |
n/d |
n/d |
Concatenamento di stringhe |
&= |
+= |
+= |
+= |
+ - $ |
Divisione modulo |
n/d |
%= |
%= |
%= |
% |
Spostamento a sinistra |
<<= |
<<= |
<<= |
<<= |
BITLSHIFT( ) |
Spostamento a destra |
>>= |
>>= |
>>= |
>>= |
BITRSHIFT( ) |
AND bit per bit |
n/d |
&= |
&= |
&= |
BITAND( ) |
OR esclusivo bit per bit |
n/d |
^= |
^= |
^= |
BITXOR( ) |
OR inclusivo bit per bit |
n/d |
|= |
|= |
|= |
BITOR( ) |
null coalescing |
n/d |
n/d |
?? |
n/d |
n/d |
Relazione e uguaglianza |
|
|
|
|
|
Minore di |
< |
< |
< |
< |
< |
Minore o uguale a |
<= |
<= |
<= |
<= |
<= |
Maggiore di |
> |
> |
> |
> |
> |
Maggiore o uguale a |
>= |
>= |
>= |
>= |
>= |
Uguale a |
= |
== |
== |
== |
= |
Non uguale |
<> |
!= |
!= |
!= |
<> # != |
Confronto tra variabili di riferimento |
Is IsNot |
n/d |
== |
== |
COMPOBJ( ) |
Confronto tra tipi di riferimento |
TypeOf x Is Class1 |
n/d |
x is Class1 (vedere anche as e typeof) |
instanceof |
n/d |
Confronto tra stringhe |
StrComp( ) |
(Esistono funzioni per il confronto e la concatenazione di stringhe) |
== |
== |
= |
Concatenazione CString |
& |
|
+ |
+ |
+ |
AND booleano di corto circuito |
AndAlso |
&& |
&& |
&& |
AND .AND. |
OR booleano di corto circuito |
OrElse |
|| |
|| |
|| |
n/d |
Spostamento per bit |
|
|
|
|
|
Spostamento a sinistra |
<< |
<< |
<< |
<< |
n/d |
Spostamento a destra |
>> |
>> |
>> |
>> >>> |
n/d |
Risoluzione ambito |
|
|
|
|
|
Risoluzione ambito |
. MyBase MyClass |
:: |
. base |
n/d |
:: |
Suffisso2 |
|
|
|
|
|
Elemento di matrice |
( ) |
[ ] |
[ ] |
[ ] |
[ ] ( ) |
Chiamata di funzione |
( ) |
( ) |
( ) |
( ) |
( ) |
Conversione o cast di tipo |
CInt CDbl ... CType |
(tipo) |
(tipo) |
type() |
n/d |
Selezione dei membri |
. ! |
. -> |
. |
. |
. |
Incremento suffisso |
n/d |
++ |
++ |
++ |
n/d |
Decremento suffisso |
n/d |
-- |
-- |
-- |
n/d |
Unario3 |
|
|
|
|
|
Riferimento indiretto |
n/d |
* |
* (solo modalità unsafe) |
n/d |
n/d |
Indirizzo di |
AddressOf |
& |
& (solo modalità unsafe; vedere anche fixed) |
n/d |
n/d |
NOT Logico |
Not |
! |
! |
! |
! NOT .NOT. |
Complemento di uno |
Not |
~ |
~ |
~ |
BITNOT( ) |
Incremento prefisso |
n/d |
++ |
++ |
++ |
n/d |
Decremento prefisso |
n/d |
-- |
-- |
-- |
n/d |
Dimensione del tipo |
n/d |
sizeof |
sizeof |
n/d |
n/d |
Virgola |
n/d |
, |
n/d |
, |
n/d |
Bit per bit |
|
|
|
|
|
AND bit per bit |
And |
& |
& |
& |
BITAND( ) |
OR esclusivo bit per bit |
Xor |
^ |
^ |
^ |
BITXOR( ) |
OR inclusivo bit per bit |
Or |
| |
| |
| |
BITOR( ) |
Logica |
|
|
|
|
|
AND logico |
And |
& |
& |
&& |
AND .AND. |
OR logico |
Or |
| |
| |
|| |
OR .OR. |
Condizionale |
|
|
|
|
|
Condizionale ternario |
IIf( ) |
?: |
?: |
?: |
n/d |
Condizionale binario o ternario |
If( ) |
||||
Puntatore a membro |
|
|
|
|
|
Puntatore a membro |
n/d |
.* -> |
. (solo modalità unsafe) |
n/d |
n/d |
Riferimento |
|
|
|
|
|
Riferimento |
n/d |
& |
n/d (utilizzare tipi riferimento) |
n/d |
@ |
1. Viene eseguito l'overload dell'operatore di divisione per gestire le divisioni di valori integer e con virgola mobile, a seconda degli operandi.
2. Gli operatori suffissi hanno il massimo grado di precedenza nella valutazione delle espressioni.
3. Gli operatori unari si trovano prima dell'operando e vengono associati da sinistra a destra.
Vedere anche
Riferimenti
Confronto tra concetti di programmazione in diversi linguaggi con esempi di codice
Confronto tra controlli e oggetti di programmazione in diversi linguaggi e librerie