我使用列表来存储使用第三方库检索到的所有设备。我正在使用 Exist 方法来确定列表中是否存在设备。
bool bDeviceFound = _devicesFound.Exists(delegate(RCDevice device)
{
bool retVal = false;
if (device != null)
{
Regex regex = new Regex(@"Floor[\d]+\/mycamera[\d]+");
if (regex.IsMatch(device.FullName))
retVal = true;
}
return retVal;
});
问题是委托永远不会返回 true 或者执行将永远不会到达委托内部的代码。我在这里做错什么了吗?我已经验证了委托中的代码,只要找到匹配项,正则表达式就会返回 true。
device.FullName 假定 IsMatch 的值为“Floor1/mycamera1”以返回 true。
正如 LasseV.Karlsen 在下面的评论之一中所建议的那样,我尝试将委托方法移动到单独的私有静态 bool 方法中,并在那里放置一个断点。但执行从来没有打到那里。谢谢