从ASync方法

时间:2016-02-11 17:21:12

标签: c# wpf xaml asynchronous

我只是搞乱了我的第一个wpf应用程序,我实现的其中一个是插入排序。我有一个排序方法运行ASync到应用程序的其余部分,以免冻结应用程序的其余部分。我正在尝试实现一个进度条,以显示计算机的排序程度,但没有运气。

它显示了例外:Exception

所以我猜它不喜欢在另一个核心中调用一个项目,我是对的吗? 如何解决此问题,并使进度条工作?

以下是代码

谢谢!

InsertionSort方法:

private int[] performInsertionSort(int[] inputarray)
    {
        for (int i = 0; i < inputarray.Length - 1; i++)
        {
            int j = i + 1;

            while (j > 0)
            {
                if (inputarray[j - 1] > inputarray[j])
                {
                    int temp = inputarray[j - 1];
                    inputarray[j - 1] = inputarray[j];
                    inputarray[j] = temp;

                }
                j--;
                int RealJ = inputarray.Length - j;
                ProgB.Value = inputarray.Length / RealJ * 100;
            }
        }
        return inputarray;
    }

启动InsertionSort方法的按钮的事件处理程序:

private void button_Click(object sender, RoutedEventArgs e)
    {
        int SInt;
        if (Int32.TryParse(textBox0.Text, out SInt))
            Console.WriteLine(SInt);
        else
            Console.WriteLine("S String could not be parsed.");

        int[] SortList = new int[SInt];
        Random randNum = new Random();
        foreach (int value in SortList)
        {
            randNum.Next(0, 999999);
        }
        new Task(() => { performInsertionSort(SortList); }).Start();
        //performInsertionSort(SortList);
    }

0 个答案:

没有答案
相关问题