0Pricing
C# Academy · Aula

Sufixos na prática; conversão de tipo versus conversão; criação de objetos no C# 6

Aprenda a usar sufixos numéricos na prática, entenda a diferença entre conversão explícita de tipo e conversão e saiba escrever criações de objetos compatíveis com C# 6 (sem new inferido pelo tipo-alvo).

Sufixos na prática; conversão de tipo versus conversão; criação de objetos no C# 6 é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 3 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.

Visão geral da lição

Objetivo: usar corretamente os sufixos numéricos, saber quando fazer conversão de tipo ou conversão e criar objetos em C# 6 sem usar new com tipo inferido pelo destino.

Sufixos na prática

Sufixos: use f para float (3.14f), m para decimal (10m) e L para long (123L). Escolha os tipos de acordo com a precisão e o intervalo necessários.

Fundamentos da conversão de tipo

Conversão de tipo altera a forma como o valor é interpretado pelo compilador; conversões explícitas podem causar perda de dados.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    // Implicit numeric promotion (safe)
    int i = 42;
    double d = i; // implicit cast to double
    Console.WriteLine("d = " + d);

    // Explicit cast (possible data loss)
    double pi = 3.99;
    int n = (int)pi; // truncates
    Console.WriteLine("n = " + n);
  }
}

Fundamentos da conversão

Conversão transforma os dados: TryParse é a opção mais segura; Parse/Convert podem gerar uma exceção quando a entrada é inválida.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    string text = "123";
    int value;

    // TryParse: safe conversion (no exception)
    bool ok = int.TryParse(text, out value);
    Console.WriteLine("ok=" + ok + " value=" + value);

    // Convert: throws if invalid
    int v2 = Convert.ToInt32(3.7); // rounds to 4
    Console.WriteLine("v2=" + v2);

    // Parse: throws if invalid
    int v3 = int.Parse("42");
    Console.WriteLine("v3=" + v3);
  }
}

Criação de objetos no C# 6

Não há new com tipo inferido pelo destino no C# 6: escreva o tipo explicitamente (à esquerda ou no construtor). Evite a sintaxe mais recente em compiladores antigos.

using System;

// Simple point class
public class Point
{
  public int X;
  public int Y;
}

public class Program
{
  public static void Main(string[] args)
  {
    // C# 6 style: specify the type on the left or right
    Point p1 = new Point();
    p1.X = 1; p1.Y = 2;

    var p2 = new Point(); // type inferred from constructor
    p2.X = 3; p2.Y = 4;

    Console.WriteLine("p1=(" + p1.X + "," + p1.Y + ")");
    Console.WriteLine("p2=(" + p2.X + "," + p2.Y + ")");
  }
}

Tudo junto

Compare os resultados da conversão de tipo e da conversão e veja os sufixos em um único lugar. Prefira TryParse para entradas do usuário.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    // Suffixes
    float f = 2.5f;
    decimal price = 9.99m;
    long big = 10000000000L;
    Console.WriteLine("f=" + f + " price=" + price + " big=" + big);

    // Cast vs Convert
    double d = 5.8;
    int viaCast = (int)d;              // 5 (truncate)
    int viaConvert = Convert.ToInt32(d); // 6 (round)
    Console.WriteLine("viaCast=" + viaCast + " viaConvert=" + viaConvert);

    // TryParse safety
    int n;
    bool ok = int.TryParse("oops", out n);
    Console.WriteLine("TryParse ok=" + ok + " n=" + n);
  }
}

Conversão de tipo versus conversão

Verificação rápida: qual afirmação sobre conversão de tipo e conversão em C# é verdadeira?

Recapitulação

Recapitulação: use os sufixos f/m/L, faça conversões de tipo somente quando forem seguras e converta quando precisar de uma nova representação (prefira TryParse). No C# 6, declare os tipos explicitamente: não há new com tipo inferido pelo destino.

Perguntas Frequentes

A aula “Sufixos na prática; conversão de tipo versus conversão; criação de objetos no C# 6” é grátis?

Sim — o texto completo de “Sufixos na prática; conversão de tipo versus conversão; criação de objetos no C# 6” é 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 “Sufixos na prática; conversão de tipo versus conversão; criação de objetos no C# 6”?

Aprenda a usar sufixos numéricos na prática, entenda a diferença entre conversão explícita de tipo e conversão e saiba escrever criações de objetos compatíveis com C# 6 (sem new inferido pelo tipo-al… 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 3 de 3.

Quanto tempo leva a aula “Sufixos na prática; conversão de tipo versus conversão; criação de objetos no C# 6”?

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