【发布时间】:2023-03-07 21:03:01
【问题描述】:
我一直在使用 try/catch 语句来检查一个元素在解析时是否存在。显然这不是最好的方法。在我的大部分解析中,我一直在使用 LINQ(lambda 表达式),但我只是不知道如何检测元素是否存在。
我发现的一些解决方案的一个大问题是它们使用的代码比使用 try/catch 块多 3-4 倍,这有悖于目的。
我会假设代码看起来像这样:
if(document.Element("myElement").Exists())
{
var myValue = document.Element("myElement").Value;
}
我确实找到了这个link,但在我的情况下循环是不必要的,因为我可以保证它只会出现一次,如果它存在的话。再加上必须创建一个看起来也不必要的虚拟元素的事实。似乎这不是检查的最佳方法(或好方法)。有什么想法吗?
【问题讨论】:
-
try/catch块可能非常慢。应尽可能避免使用它们。
标签: c# xml linq lambda linq-to-xml