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
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
- Valor versus referência; literais; inferência com var; const/readonly
- Operadores e expressões: aritméticos, de comparação e lógicos
- Sufixos na prática; conversão de tipo versus conversão; criação de objetos no C# 6