繁体   English   中英

如何在异常中检查 e.Data 属性中是否有任何键具有子字符串?

[英]how to get check if any key has a substring in a e.Data property in an exception?

我正在抛出一个异常,该异常在 e.Data 属性中几乎没有元素。

Data 的键是一个字符串,所以为了处理这个异常,我想获取包含代码的第一个元素。 所以我想这样做:

var myData = e.Data.Keys.FirstOrDefault(x=> x.Contains("myCode"));

类似的东西。 问题是Keys没有这个方法。

在 MSDN 文档中,我看到可以使用 foreach 迭代所有项目,但我想避免这种情况,因为它是额外的代码。

那么,是否可以检查 Data 中的键是否具有代码,然后它是否已处理此代码的异常?

谢谢

如果您的所有键都是字符串,您可能需要先转换它们,因为Keys属性不是通用的:

var myData = e.Data.Keys.Cast<string>().FirstOrDefault(x=> x.Contains("myCode"));

使用更清洁的技巧是可能的。 contains() 方法将进行必要的检查,是否存在有效的密钥。

 if(e.Data.Contains("myCode"))
 {
     // Perform desired action
 }
 else
 {
    // Continue code execution
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM