有没有一种方法可以使C#中的方法“超时”?

时间:2020-10-06 21:49:21

标签: c#

我想知道是否有什么方法可以使方法“超时”或如果什么都没有返回就停止执行。例如,在下面提供的代码中,我正在通过一种方法来传递BigInteger,该方法确定整数是否可能是素数。当我调用该方法时,我正在使用一个大整数数组来多次测试该方法。

    class PrimeChecker {

        public static bool isPrime(BigInteger num) {

            if (num <= 1)
            {
                return false;
            }

            if (num == 2)
            {
                return true;
            }

            for (int i = 3; i <= num / 2; ++i)
            {
                if (num % i == 0)
                {
                    return false;
                }

            }

            return true;

        }
    }    
}

但是我遇到了一些num实例的问题,例如:

35201546659608842026088328007565866231962578784643756647773109869245232364730066609837018108561065242031153677(是Prime)

被困在永远的感觉中。在我的主类或类本身中,有没有一种方法可以让我在一段时间后停止此函数,然后继续执行数组中的下一个Big Integer。

*我知道该类本身可能并不完美,很可能是导致该测试永久​​循环的原因。但是,我只想查看如果以x秒/分钟为单位进行计算,是否可以停止该功能。

0 个答案:

没有答案