public static string _SCALE_counting(Scale _Scale, List <double> Key_value, Dictionary <string, double> newscale) { try{ string expression = _Scale.If_scale; expression = Additional_functions.Replace_Point(expression, Key_value); expression = expression.Replace(',', '.'); if (!newscale.Keys.Contains(_Scale.Name_scale)) // add new name scale { string tmp = Additional_functions.Split_for_value(expression); tmp = Additional_functions.Clean_for_compilation(tmp); double point = Convert.ToSingle(Additional_functions.Verification_of_conditions(Constants_for_the_compiler.Begin_C, tmp, Constants_for_the_compiler.End)); newscale.Add(_Scale.Name_scale, point); } if (Convert.ToBoolean(Additional_functions.Verification_of_conditions(Constants_for_the_compiler.Begin_V, expression, Constants_for_the_compiler.End))) { return("(" + _Scale.Name_scale + ") " + "Баллов - " + Convert.ToString(newscale[_Scale.Name_scale]) + "\r\n" + _Scale.Manifestation); } return(null); } catch { Stored_Exceptions.Add(new Exception("Error: internal format is not correct")); return(null); } }