Operadores em C# – Guia Completo dos Operadores em C#
Operadores em C#
Explore cada categoria de operadores em C# e aprenda como aplicá-los efetivamente no seu código.
Operadores são símbolos que executam ações em um ou mais operandos — variáveis, constantes ou expressões. Em C#, operadores são agrupados pelo tipo de operação que executam, como aritméticos, lógicos, bitwise e mais.
1. Operador Básico de Atribuição
Operador de atribuição (=) armazena valor em variável.
double x;
x = 50.05;
Exemplo 1: Usando Operador de Atribuição
using System;
namespace OperatorDemo
{
class AssignmentOperator
{
public static void Main(string[] args)
{
int firstNumber, secondNumber;
firstNumber = 10;
Console.WriteLine("First Number = {0}", firstNumber);
secondNumber = firstNumber;
Console.WriteLine("Second Number = {0}", secondNumber);
}
}
}
Saída:
First Number = 10 Second Number = 10
2. Operadores Aritméticos
Operadores aritméticos executam cálculos matemáticos.
int x = 5;
int y = 10;
int z = x + y; // z = 15
| Operador | Nome | Exemplo |
|---|---|---|
| + | Adição | 6 + 3 = 9 |
| - | Subtração | 10 - 6 = 4 |
| * | Multiplicação | 4 * 2 = 8 |
| / | Divisão | 10 / 5 = 2 |
| % | Módulo (resto) | 16 % 3 = 1 |
Exemplo 2: Operações Aritméticas
using System;
namespace OperatorDemo
{
class ArithmeticOperator
{
public static void Main(string[] args)
{
double firstNumber = 14.40, secondNumber = 4.60, result;
int num1 = 26, num2 = 4, rem;
result = firstNumber + secondNumber;
Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result);
result = firstNumber - secondNumber;
Console.WriteLine("{0} - {1} = {2}", firstNumber, secondNumber, result);
result = firstNumber * secondNumber;
Console.WriteLine("{0} * {1} = {2}", firstNumber, secondNumber, result);
result = firstNumber / secondNumber;
Console.WriteLine("{0} / {1} = {2}", firstNumber, secondNumber, result);
rem = num1 % num2;
Console.WriteLine("{0} % {1} = {2}", num1, num2, rem);
}
}
}
Saída:
14.4 + 4.6 = 19 14.4 - 4.6 = 9.8 14.4 * 4.6 = 66.24 14.4 / 4.6 = 3.1304347826087 26 % 4 = 2
3. Operadores Relacionais
Estes operadores comparam dois operandos e retornam resultado booleano.
| Operador | Nome | Exemplo |
|---|---|---|
| == | Igual a | 6 == 4 → false |
| > | Maior que | 3 > -1 → true |
| < | Menor que | 5 < 3 → false |
| >= | Maior ou igual a | 4 >= 4 → true |
| <= | Menor ou igual a | 5 <= 3 → false |
| != | Diferente de | 10 != 2 → true |
Exemplo 3: Verificações Relacionais
using System;
namespace OperatorDemo
{
class RelationalOperator
{
public static void Main(string[] args)
{
bool result;
int firstNumber = 10, secondNumber = 20;
result = (firstNumber == secondNumber);
Console.WriteLine("{0} == {1} retorna {2}", firstNumber, secondNumber, result);
result = (firstNumber > secondNumber);
Console.WriteLine("{0} > {1} retorna {2}", firstNumber, secondNumber, result);
result = (firstNumber < secondNumber);
Console.WriteLine("{0} < {1} retorna {2}", firstNumber, secondNumber, result);
result = (firstNumber >= secondNumber);
Console.WriteLine("{0} >= {1} retorna {2}", firstNumber, secondNumber, result);
result = (firstNumber <= secondNumber);
Console.WriteLine("{0} <= {1} retorna {2}", firstNumber, secondNumber, result);
result = (firstNumber != secondNumber);
Console.WriteLine("{0} != {1} retorna {2}", firstNumber, secondNumber, result);
}
}
}
Saída:
10 == 20 retorna False 10 > 20 retorna False 10 < 20 retorna True 10 >= 20 retorna False 10 <= 20 retorna True 10 != 20 retorna True
4. Operadores Lógicos
Operadores lógicos avaliam expressões booleanas.
| Operando 1 | Operando 2 | OU (||) | E (&&) |
|---|---|---|---|
| true | true | true | true |
| true | false | true | false |
| false | true | true | false |
| false | false | false | false |
- Se qualquer operando é
true, operador OU resultatrue. - Ambos operandos devem ser
truepara E retornartrue.
Exemplo 4: Operadores Lógicos
using System;
namespace OperatorDemo
{
class LogicalOperator
{
public static void Main(string[] args)
{
bool result;
int firstNumber = 10, secondNumber = 20;
result = (firstNumber == secondNumber) || (firstNumber > 5);
Console.WriteLine(result);
result = (firstNumber == secondNumber) && (firstNumber > 5);
Console.WriteLine(result);
}
}
}
Saída:
True False
5. Operadores Unários
Operadores unários atuam em um único operando.
| Operador | Nome | Descrição |
|---|---|---|
| + | Mais unário | Mantém sinal inalterado |
| - | Menos unário | Inverte sinal |
| ++ | Incremento | Aumenta em 1 |
| -- | Decremento | Diminui em 1 |
| ! | NÃO lógico | Inverte booleano |
Exemplo 5: Operadores Unários
using System;
namespace OperatorDemo
{
class UnaryOperator
{
public static void Main(string[] args)
{
int number = 10, result;
bool flag = true;
result = +number;
Console.WriteLine("+number = " + result);
result = -number;
Console.WriteLine("-number = " + result);
result = ++number;
Console.WriteLine("++number = " + result);
result = --number;
Console.WriteLine("--number = " + result);
Console.WriteLine("!flag = " + (!flag));
}
}
}
Saída:
+number = 10 -number = -10 ++number = 11 --number = 10 !flag = False
Exemplo 6: Incremento Prefix vs. Postfix
using System;
namespace OperatorDemo
{
class UnaryOperator
{
public static void Main(string[] args)
{
int number = 10;
Console.WriteLine(number++); // 10
Console.WriteLine(number); // 11
Console.WriteLine(++number); // 12
Console.WriteLine(number); // 12
}
}
}
Saída:
10 11 12 12
6. Operador Ternário
Operador ternário (? :) condensa declaração if-else em uma linha.
variavel = Condicao ? Expressao1 : Expressao2;
Se Condicao é true, Expressao1 é avaliada; caso contrário Expressao2 é usada.
Exemplo 7: Usando Operador Ternário
using System;
namespace OperatorDemo
{
class TernaryOperator
{
public static void Main(string[] args)
{
int number = 10;
string result = (number % 2 == 0) ? "Número Par" : "Número Ímpar";
Console.WriteLine("{0} é {1}", number, result);
}
}
}
Saída:
10 é Número Par
Saiba mais sobre operador ternário em C#.
7. Operadores Bitwise e Bit Shift
Estes operadores manipulam bits individuais de tipos integrais.
| Operador | Nome |
|---|---|
| ~ | Complemento bitwise |
| & | E bitwise |
| | | OU bitwise |
| ^ | OU exclusivo (XOR) |
| << | Deslocamento à esquerda |
| >> | Deslocamento à direita |
Exemplo 8: Operações Bitwise
using System;
namespace OperatorDemo
{
class BitOperator
{
public static void Main(string[] args)
{
int firstNumber = 10, secondNumber = 20, result;
result = ~firstNumber;
Console.WriteLine("~{0} = {1}", firstNumber, result);
result = firstNumber & secondNumber;
Console.WriteLine("{0} & {1} = {2}", firstNumber, secondNumber, result);
result = firstNumber | secondNumber;
Console.WriteLine("{0} | {1} = {2}", firstNumber, secondNumber, result);
result = firstNumber ^ secondNumber;
Console.WriteLine("{0} ^ {1} = {2}", firstNumber, secondNumber, result);
result = firstNumber << 2;
Console.WriteLine("{0} << 2 = {1}", firstNumber, result);
result = firstNumber >> 2;
Console.WriteLine("{0} >> 2 = {1}", firstNumber, result);
}
}
}
Saída:
~10 = -11 10 & 20 = 0 10 | 20 = 30 10 ^ 20 = 30 10 << 2 = 40 10 >> 2 = 2
Para insights mais profundos, visite guia de operadores Bitwise e Bit Shift em C#.
8. Operadores de Atribuição Composta
Estes operadores combinam operação aritmética com atribuição.
| Operador | Nome | Exemplo | Equivalente a |
|---|---|---|---|
| += | Atribuição de adição | x += 5 | x = x + 5 |
| -= | Atribuição de subtração | x -= 5 | x = x - 5 |
| *= | Atribuição de multiplicação | x *= 5 | x = x * 5 |
| /= | Atribuição de divisão | x /= 5 | x = x / 5 |
| %= | Atribuição de módulo | x %= 5 | x = x % 5 |
| &= | Atribuição E bitwise | x &= 5 | x = x & 5 |
| |= | Atribuição OU bitwise | x |= 5 | x = x | 5 |
| ^= | Atribuição XOR bitwise | x ^= 5 | x = x ^ 5 |
| <<= | Atribuição deslocamento esquerda | x <<= 5 | x = x << 5 |
| >>= | Atribuição deslocamento direita | x >>= 5 | x = x >> 5 |
| => | Operador lambda | x => x * x | Retorna x ao quadrado |
Exemplo 9: Uso de Atribuição Composta
using System;
namespace OperatorDemo
{
class CompoundOperator
{
public static void Main(string[] args)
{
int number = 10;
number += 5;
Console.WriteLine(number);
number -= 3;
Console.WriteLine(number);
number *= 2;
Console.WriteLine(number);
number /= 3;
Console.WriteLine(number);
number %= 3;
Console.WriteLine(number);
number &= 10;
Console.WriteLine(number);
number |= 14;
Console.WriteLine(number);
number ^= 12;
Console.WriteLine(number);
number <<= 2;
Console.WriteLine(number);
number >>= 3;
Console.WriteLine(number);
}
}
}
Saída:
15 12 24 8 2 2 14 2 8 1
Tutoriais posteriores cobrirão expressões lambda em detalhe.
Linguagem C
- Dominando Operadores em Programação C: Um Guia Abrangente
- Dominando Operadores em Python: Guia Completo
- Dominando Sobrecarga de Operadores em Python: Guia Prático
- Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
- Operador instanceof em Java: Guia Completo
- Operadores em C++ Explicados: Tipos, Exemplos e Programas Práticos
- Sobrecarga de Operadores em C++: Guia Prático com Exemplos de Código
- Operadores Verilog: Aritméticos, Relacionais, Lógicos e Bitwise Essenciais para Síntese
- Java Essencial: Guia Completo dos Operadores Principais
- Guia Abrangente de Operadores em C: Tipos, Funções e Exemplos