public ICollection <string> CalculateLines(ICollection <string> lines) { Calculator calc = new Calculator(binding); List <string> list = new List <string>(); foreach (string line in lines) { int len; for (len = line.Length; len >= 1; len--) { string s = line.Substring(0, len); ParseResult result = Expression.parse(s); if (result.Expr != null) { list.Add(calc.calculate(result.Expr).ToString() + line.Substring(len)); break; } } if (len == 0) { list.Add(line); } } return(list); }