0Pricing
C# Academy · Aula

Valor versus referência; literais; inferência com var; const/readonly

Aprenda como os tipos de valor diferem dos tipos de referência, como funcionam os literais e sufixos numéricos, quando usar var e qual é o papel de const e readonly.

Valor versus referência; literais; inferência com var; const/readonly é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 3 aulas no total.

Por que os tipos são importantes

Objetivo: entender os tipos de valor e de referência e como variáveis, literais e constantes se comportam no código cotidiano.

Valor versus referência

Tipo de valor: copia os dados na atribuição (por exemplo, int, bool, struct). Tipo de referência: copia uma referência (classe, matriz, cadeia de caracteres).

  • Valor: alterações locais mais seguras
  • Referência: identidade de objeto compartilhada

Literais e sufixos

Os literais têm tipos. Use sufixos para maior clareza: f (float), m (decimal), L (long).

  • 3.14f → float
  • 10m → decimal (dinheiro)
  • 123L → long

Inferência de tipo com var

var permite que o compilador deduza o tipo a partir do lado direito. Use-o quando o tipo for evidente; caso contrário, declare-o explicitamente.

const versus readonly

const: constante conhecida em tempo de compilação; readonly: definida no construtor ou na declaração.

  • Use const para valores fixos (por exemplo, Pi)
  • Use readonly para valores conhecidos durante a execução

Tipos na prática

Veja o comportamento de valores e referências, os sufixos numéricos, a inferência simples de tipo com var e o uso de const/readonly em um único programa pequeno.

using System;

// Value type (struct) copies by value
public struct PointS
{
  public int X;
  public int Y;
}

// Reference type (class) copies the reference
public class PointC
{
  public int X;
  public int Y;
}

// Readonly demo class
public class Config
{
  public readonly string Name;
  public Config(string name)
  {
    Name = name; // can set here
  }
}

public class Program
{
  // Compile-time constant
  private const double Pi = 3.14159;

  public static void Main(string[] args)
  {
    // 1) Value vs reference
    PointS a = new PointS { X = 1, Y = 2 };
    PointS b = a;         // copy value
    b.X = 99;
    Console.WriteLine("Value struct a.X = " + a.X); // 1 (unchanged)
    Console.WriteLine("Value struct b.X = " + b.X); // 99

    PointC ac = new PointC { X = 1, Y = 2 };
    PointC bc = ac;       // copy reference
    bc.X = 77;
    Console.WriteLine("Ref class ac.X = " + ac.X);  // 77 (same object)
    Console.WriteLine("Ref class bc.X = " + bc.X);  // 77

    // 2) Literals & suffixes
    float f = 3.14f;
    decimal price = 10m;
    long big = 123L;
    Console.WriteLine("f=" + f + " price=" + price + " big=" + big);

    // 3) var inference (type is obvious)
    var sum = a.X + a.Y; // int
    Console.WriteLine("sum=" + sum);

    // 4) const vs readonly
    Config cfg = new Config("Demo");
    Console.WriteLine("Pi=" + Pi + " Name=" + cfg.Name);
  }
}

Definição de tipo de valor

Verificação rápida: qual afirmação descreve melhor um tipo de valor?

Recapitulação

Recapitulação: tipos de valor copiam dados; tipos de referência compartilham objetos. Use sufixos para literais numéricos, var quando a intenção estiver clara e escolha const ou readonly adequadamente.

Perguntas Frequentes

A aula “Valor versus referência; literais; inferência com var; const/readonly” é grátis?

Sim — o texto completo de “Valor versus referência; literais; inferência com var; const/readonly” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 3 aulas no total.

O que vou aprender em “Valor versus referência; literais; inferência com var; const/readonly”?

Aprenda como os tipos de valor diferem dos tipos de referência, como funcionam os literais e sufixos numéricos, quando usar var e qual é o papel de const e readonly. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C# Academy?

Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.

Quanto tempo leva a aula “Valor versus referência; literais; inferência com var; const/readonly”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C# Academy?

Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Valor versus referência; literais; inferência com var; const/readonly
  2. Operadores e expressões: aritméticos, de comparação e lógicos
  3. Sufixos na prática; conversão de tipo versus conversão; criação de objetos no C# 6
← Voltar para C# Academy