ExpertiDict

C# · Essencial · Inglês · Técnico

value type

/ˈvælju taɪp/substantivo

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

Veja também

Todos os termos de C#