クラスの関数CalculateLinearRegression()を呼び出すメソッドがあります。が呼び出されるたびに約 3,500 回呼び出されます。WorksheetFunction クラスをメソッドに挿入するので、クラスのインスタンスが 1 つだけ作成されることがわかります。LinEstExcel.Application.WorksheetFunctionLinEstCalculateLinearRegression()
の各呼び出しにCalculateLinearRegression()は約 10 分かかりますが、LinEstすべてを遅くしているのは関数であると確信しています (への呼び出しを削除しLinEst、結果をハードコーディングすると、メソッドは数秒で実行されます)。
かなりの計算を行っていることに感謝しLinEstますが、この遅延を引き起こすほど多くのことを行っているとは思えません。したがって、遅延を追加しているのはおそらく Excel 関数の呼び出しであると思います。これを高速化する方法、または関数の C# 直接置換のいずれかを知っている人はいLinEstますか?