C# · Essencial · Inglês · Técnico
value type
Tipo cuja variável guarda o próprio dado, como int, bool, DateTime e qualquer struct; atribuir ou passar como argumento copia o valor inteiro.
Onde usar
Aparece em entrevistas e em bugs de cópia: alterar uma struct dentro de um método não afeta o original, porque você mexeu na cópia. Entender isso evita surpresas com mutabilidade.
Em código
var a = new Ponto { X = 1 };
var b = a; // cópia
b.X = 99;
Console.WriteLine(a.X); // 1
struct Ponto { public int X; }Exemplos
A struct is a value type, so assignment copies it.
Uma struct é um value type, então a atribuição a copia.
Careful, that value type gets copied on every call.
Cuidado, esse value type é copiado a cada chamada.
Cuidado
Não diga que value types vivem sempre na pilha: um campo struct dentro de uma classe fica no heap, junto com o objeto.
Sinônimos
tipo por valor
Antônimos
reference type