我已经创建了这段代码,但试图为它添加更多的功能
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;
}
尽管你可以在这里读到它不应该抛出任何异常