存在しない親の子要素にアクセスするときにnull参照例外を回避する簡単な方法はありますか?たとえば、私はこのクエリを持っています:
Persons = (from actor in xDoc.Root.Element(imdbns + "Cast").Elements(imdbns + "Actor")
select new Person { Name = (string)actor.Element(imdbns + "Person").Element(imdbns + "Name"), Role = "Actor" }).Union(
from director in xDoc.Root.Element(imdbns + "Directors").Elements(imdbns + "Person")
select new Person { Name = (string)director.Element(imdbns + "Name"), Role = "Director" }).Union(
from writer in xDoc.Root.Descendants(imdbns + "Writer")
select new Person { Name = (string)writer.Element(imdbns + "Person").Element(imdbns + "Name"), Role = "Writer" }).ToList()
これは、3つの要素(俳優、作家、監督)をオブジェクトPersonに統合します。問題は、要素「キャスト」が存在するのか、要素「ディレクター」が存在するのかを事前に知らないことです。これらの要素は、アクセスする必要のある最後の要素の親要素であり、それらが存在しない場合は、null参照例外が発生します。だから私の質問は:クエリを「if!= null then」という読み取り不可能なシーケンスのセットに分割する必要がありますか、それとももっと便利な方法がありますか?
ありがとう