我必须通过大量迭代、矩阵运算等来实现非常复杂的算法。傅里叶级数逼近有两个主要循环。我想知道实现进度回调的最佳方法是什么。我将来想在 WPF 应用程序中使用这个算法,我想实现进度条。如何准备算法以使将来的进度条实现变得容易?
我正在考虑这样的事情:
static void Main(string[] args)
{
Console.Write("Progres... ");
Alg((i) => UpdateProgress(i));
}
public static void UpdateProgress(int iteration)
{
string anim = @"|/-\-";
Console.SetCursorPosition(Console.CursorLeft - 1, Console.CursorTop);
Console.Write(anim[iteration%5]);
}
public static void Alg(Action<int> progressCallback)
{
for (int i = 0; i < 100; i++)
{
Thread.Sleep(50);
progressCallback(i);
}
}