C# 从foreach循环中排除某些内容

C# 从foreach循环中排除某些内容,c#,C#,有没有一种方法可以从foreach循环中排除某些内容。我正在读取一组注册表项,其中一个文件夹没有读取权限,因此它会出错并使foreach循环无效。请在foreach循环中使用try catch块 试试下面的方法 foreach(var i in listRegistryKey) { try { //Your code } catch(Exception e) { //Handle Exception } } 这

有没有一种方法可以从foreach循环中排除某些内容。我正在读取一组注册表项,其中一个文件夹没有读取权限,因此它会出错并使foreach循环无效。

请在foreach循环中使用try catch块

试试下面的方法

foreach(var i in listRegistryKey)
{
    try
    {
        //Your code


    }
    catch(Exception e)
    {
        //Handle Exception
    }
}

这样,如果在foreach循环中处理异常,并且在处理后,循环将继续执行列表中的下一项。

在foreach循环中使用try catch块

试试下面的方法

foreach(var i in listRegistryKey)
{
    try
    {
        //Your code


    }
    catch(Exception e)
    {
        //Handle Exception
    }
}

如果在foreach循环中处理了异常,并且在处理后,循环将继续执行列表中的下一项。

好的,如果您可以先检查是否获得了执行某项操作的权限

e、 g

也许对你有帮助,看看吧

如果你真的想把它从循环中排除,你可以看看Lambda,你可以在运行它之前先过滤它

它看起来像这个伪代码

foreach(var key in keys.where(x => CanReadKey(registry, x))){
    // do stuff
}

好吧,如果你能先检查一下你是否有做某事的权限

e、 g

也许对你有帮助,看看吧

如果你真的想把它从循环中排除,你可以看看Lambda,你可以在运行它之前先过滤它

它看起来像这个伪代码

foreach(var key in keys.where(x => CanReadKey(registry, x))){
    // do stuff
}

学究般地说,这并不排除foreach中的项目,而是处理foreach中的项目。我不知道是否值得这么说:学究般地说,这并不排除foreach中的项目,它处理foreach中的项目。我不知道这样说是否值得: