Janaina,
Está certo, sim, quando funciona SEMPRE está certo, tipo aquele piloto de avião que deu uma "barrigada" na pista e o co-piloto disse:
- Toda a aterrisagem que saímos vivos é uma boa aterrisagem!
... okay, mas existe algo chamado "boas práticas".
A concatenação está bem ruinzinha. Motivo: É difícil de fazer manutenção, ficou um pouco "macarronada" para que outro programador entenda o que você quis dizer. Tem um "if" e depois um "if" dentro de outro "if" que te dois "if", um com "else"... estranho...
Vou exemplificar.
1º CASO:
using System;
class Program
{
static void Main(string[] args)
{
double salario = 3300.0;
if (salario <= 1900.0)
{
Console.WriteLine("Fora do calculo");
}
else if (salario <= 2800.01)
{
Console.WriteLine("Reduz valor de $142");
}
else if (salario <= 3751.01)
{
Console.WriteLine("Reduz valor $350");
}
else
{
Console.WriteLine("Reduz valor de $636");
}
}
}
Agora seja sincera, visualmente falando ficou melhor de entender ou não?
2º CASO:
using System;
static void Main(string[] args)
{
double salario = 3300.0;
switch (salario)
{
case <= 1900.0:
Console.WriteLine("Fora do calculo");
break;
case <= 2800.01:
Console.WriteLine("Reduz valor de $142");
break;
case <= 3751.01:
Console.WriteLine("Reduz valor $350");
break;
default:
Console.WriteLine("Reduz valor de $636");
break;
}
}
E usando "switch" ao invés de "if"? O código não fica mais "limpo"?
Veja também:
Sempre leia José Carlos Macoratti
==========================================================
C# - Boas Práticas : Aprendendo com maus exemplos - I
Criando o projeto exemplo : uma classe que cheira mal
https://macoratti.net/16/08/c_bpme1.htm
==========================================================
[]'s,
Fabio I.