public static string Help()
        {
            StringBuilder s = new StringBuilder();

            for (int i = 0; i < CodeCouleur.Values().Count; i++)
            {
                s.Append(CodeCouleur.Values()[i].Description).Append(i != CodeCouleur.Values().Count - 1 ? ", " : ".");
            }
            return(s.ToString());
        }
        public static Resistance FromCode(string code)
        {
            if (!Regex.Match(code, PATRON_RESISTANCE).Success)
            {
                throw new ArgumentException("Pas un code couleur valide de résistance");
            }

            double valeur = 0;
            int    ind    = 0;
            int    mult   = code.Length == 5 ? 100 : 10;

            valeur += CodeCouleur.ValueOf(Char.ToString(code[ind++])).PremiereBande *mult;
            valeur += CodeCouleur.ValueOf(Char.ToString(code[ind++])).DeuxiemeBande *(mult / 10);
            valeur += code.Length == 5 ? CodeCouleur.ValueOf(Char.ToString(code[ind++])).TroisiemeBande : 0;
            valeur *= CodeCouleur.ValueOf(Char.ToString(code[ind++])).Multiplicateur;

            return(new Resistance(valeur, CodeCouleur.ValueOf(Char.ToString(code[ind++])).Tolerance));
        }