[英]Avoid Try n Catch when searching for XML nodes in XDocument
這是一種檢查XDocument
文件中是否存在某些特定節點的方法。
顯然,根據某些文檔,它可能會遇到一些NullExceptions 。 (第 5,6 行)
您推薦什么方式,如何更改這段代碼以避免使用 Try/Catch 而不會出現異常?
var xContents = xDocument.Root.Descendants("Content");
if (xContents.Any())
{
doesIncludeThat =
xContents.Any(e => e.HasAttributes && e.Name == "Content"
&& e.Attribute("Include").Value == @"Happy New Year");
...}}}
而不是使用e.Attribute(name).Value
如果屬性不存在會給出 NullReferenceException ,您可以執行以下操作之一,在這種情況下兩者都將返回 null :
e.Attribute(name)?.Value
或者
(string)e.Attribute(name)
后者使用 XAttribute 中定義的轉換(轉換)運算符之一,如果該屬性不存在,它也會返回 null。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.