|
Neste artigo vamos entender o motivo da existência do Try Pattern, quando utilizá-lo, suas vantagens e como ele torna o código mais eficiente e legível. |

public static bool TryOperacao(Entrada entrada,out Resultado resultado)
|
string texto = "123";
int numero = int.Parse(texto);
|
string texto = "ABC";
int numero = int.Parse(texto); // FormatException
|
try
{
int numero = int.Parse(texto);
}
catch (FormatException)
{
Console.WriteLine("Número inválido.");
}
|
string texto = "123";
if (int.TryParse(texto, out int numero))
{
Console.WriteLine(numero);
}
else
{
Console.WriteLine("Valor inválido.");
}
|
Console.Write("Informe sua idade: ");
string entrada = Console.ReadLine()!;
if (!int.TryParse(entrada, out int idade))
{
Console.WriteLine("Idade inválida.");
return;
}
Console.WriteLine($"Idade informada: {idade}");
|
if (clientes.ContainsKey(id))
{
Cliente cliente = clientes[id];
}
|
if (clientes.TryGetValue(id, out Cliente? cliente))
{
Console.WriteLine(cliente.Nome);
}
else
{
Console.WriteLine("Cliente não encontrado.");
}
|
var capitais = new Dictionary<string, string>
{
["SP"] = "São Paulo",
["RJ"] = "Rio de Janeiro",
["MG"] = "Belo Horizonte"
};
if (capitais.TryGetValue("SP", out string? capital))
{
Console.WriteLine(capital);
}
else
{
Console.WriteLine("Estado não localizado.");
}
|
if (!usuarios.ContainsKey(login))
{
usuarios.Add(login, usuario);
}
|
bool adicionou = usuarios.TryAdd(login, usuario);
if (!usuarios.TryAdd(login, usuario))
{
Console.WriteLine("Usuário já cadastrado.");
}
|
ConcurrentQueue<string> fila = new();
fila.Enqueue("Pedido 1");
fila.Enqueue("Pedido 2");
while (fila.TryDequeue(out string? pedido))
{
Console.WriteLine(pedido);
}
|
conta.Sacar(1000);
|
public static class ValidadorCpf
{
public static bool TryValidar(string cpf,out string cpfFormatado)
{
cpfFormatado = string.Empty;
cpf = cpf.Replace(".", "")
.Replace("-", "");
if (cpf.Length != 11)
return false;
cpfFormatado =
Convert.ToUInt64(cpf)
.ToString(@"000\.000\.000\-00");
return true;
}
}
|
if (ValidadorCpf.TryValidar(cpf, out string cpfFormatado))
{
Console.WriteLine(cpfFormatado);
}
else
{
Console.WriteLine("CPF inválido.");
}
|
E estamos
conversados..![]()
"Porque não me envergonho do
evangelho de Cristo, pois é o poder de Deus para salvação de todo aquele que
crê; primeiro do judeu, e também do grego.
"Romanos
1:16
Referências: