Deux points,
Un pourcentage correct serait Correct * 100m/(Correct + Incorrect)
. Vous avez divisé par incorrect à nouveau après cela. Je ne sais pas pourquoi c'est mais ça me semble faux.
Le résultat de la division entière est un autre entier. Si Correct est 1 et Incorrect est 4 alors le résultat de Correct/Incorrect
est 0. Toujours convertir aux types de virgule flottante avant de faire la division.
Je réécrivaient ce code comme si,
public int Total => Correct + Incorrect;
// renamed "Stat"
public decimal PercentageCorrect => (Correct * 100m)/Total;
total semble être une quantité utile. Faisons juste une propriété. Renommer "Stat" rend évident ce que c'est. Juste en lisant votre code, j'ai dû demander ce que "Stat" était parce que ce n'était pas évident ce que vous essayiez de faire.
Vous pouvez utiliser [?: Opérateur conditionnel] (https://docs.microsoft.com/en-us/dotnet/articles/csharp/language-reference/operators/conditional-operator), alias 'inline if' . – elgonzo
Qu'essayez-vous de calculer? Le pourcentage correct? –
Je pense que le code lisible est joli code. La seule chose que je peux penser pour le rendre plus lisible serait de mettre '(décimal) (Correct/Incorrect)' et '(décimal) (Correct + Incorrect)' dans des variables temporaires. Je trouve que moins de choses se passent sur une ligne pour être plus lisibles. Bien que si vous trouvez le code explicite, alors c'est lisible (et donc, je dirais, joli). –