gpt4 book ai didi

c# - 从 foreach 循环中排除某些东西

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:15 25 4
gpt4 key购买 nike

有没有办法从 foreach 循环中排除某些东西。我正在读取一堆注册表项,并且有一个文件夹没有读取权限,因此它出错并使 foreach 循环无效。

最佳答案

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

例如

 public static bool CanReadKey(this RegistryPermission reg, string key)
{
try
{
RegistryPermission r = new RegistryPermission(RegistryPermissionAccess.Read, key);
r.Demand();
return true;
}
catch (SecurityException)
{
return false;
}
}

foreach (var key in keys){
if(!CanReadKey(registry, key)){ continue; }

// do stuff ...
}

This可能对你有帮助,看看吧。

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

它看起来像这样(伪代码)

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

关于c# - 从 foreach 循环中排除某些东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40603156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com