static void Main(string[] args) { int length = 5; void results(Func <double, double> f) { for (int x = 0; x < length; x++) { Console.Write("{0:+0;-0;0}\t", f(x - 2)); } } var fun = new Linear(); fun.FromParameters(3, 5); Func <double, double>[] funcs = { fun.FindY, fun.GetFunction1(), fun.GetFunction2(), fun.GetFunction3(), fun.GetFunction4() }; Console.WriteLine("Function string:" + fun.Function); for (int i = 0; i < length; i++) { Console.Write($"func{i}:\t"); results(funcs[i]); Console.WriteLine(funcs[i].Target); } fun.FromParameters(5, 3); Console.WriteLine(); Console.WriteLine("Function string:" + fun.Function); for (int i = 0; i < length; i++) { Console.Write($"func{i}:\t"); results(funcs[i]); Console.WriteLine(funcs[i].Method); } Console.ReadLine(); }