2

これらがLINQの不適切な使用方法であるかどうか疑問に思っています。彼らは働いています、彼らが何かを壊しているかどうかはわかりません。

//例1:XML要素から文字列を取得する(ここでは、LINQクエリをスキップしています)

measurements.a = (string)bm.Descendants("a").SingleOrDefault();

//例2:必要な要素に到達するまで、子孫を使用して「ドリルイン」します。//ここに2つの子孫がある理由は、「b」が「a」の子である必要があるためです。

measurements.title = (from e in bm.Descendants("a").Descendants("b")
                                    select e.Value).SingleOrDefault();

御時間ありがとうございます。:)ジェームズ

4

1 に答える 1

2

私の目には、これらは完全に正しいです。注意すべき唯一のことは、要素自体ではなく、XElementの値を取得したい場合があるということです。

var a = (string)bm.Descendants("a").SingleOrDefault().Value;

単一の子孫を文字列としてキャストしても、文字列ではなく複雑なコンテンツ(子要素など)が含まれている場合、問題が発生する可能性があります。

于 2012-06-28T05:53:52.047 に答える