var portNames = SerialPort.GetPortNames();
Что значит в виде сида?
У вас есть большая сложная задача которую вы банально делите (хоть в голове, хоть на бумаге или в компе) на более мелкие
пока вы не придете к комплекту стандартных алгоритмов которые описал Кнут много лет назад.
решаете какие-то сложные задачи
не будет работать с ConcreteArgs.
однако обращение по индексам мне показалось неудобным при установке функции.
public double x1; // x[1]
public double x2; // x[2]