检查和编辑过程逻辑计数+防故障

本文关键字:故障 编辑 过程逻辑 检查和 | 更新日期: 2023-09-27 18:27:06

我已经创建了这段代码,但试图为它添加更多的功能

public static int HowManyCores()
{
   int CoresNumber = Environment.ProcessorCount;
    try
    {
        return CoresNumber;
    }
    catch
    {
        return CoresNumber = 2;
    }
}

如果函数由于任何原因失败,我希望它返回"2"。此外,我想返回CoresNumber-1(因此,如果它找到4,它将返回3)还有另一种情况:如果CoresNumer小于2(包括),则返回2。

检查和编辑过程逻辑计数+防故障

删除try-catch并使用

return CoresNumber > 2 ? CoresNumber - 1 : 2; 

正如Vadim所说,它不会抛出异常。所以你可以试试:

public static int GetCoreCount()
{
    int cores = Environment.ProcessorCount;
    if (cores <= 2) { return 2; }
    else { return cores - 1; }
}

我可以给你这个代码:

public static int HowManyCores()
{
    int CoresNumber = -1;
    try
    {
        CoresNumber = Environment.ProcessorCount;
        if (CoresNumber <= 2) { CoresNumber = 2; }
    }
    catch
    {
        // Log maybe
    }
    return CoresNumber;
}

尽管你可以在这里读到它不应该抛出任何异常