emailAddresses
は文字列のリストです。 notificationRequest
は、クラスRequestXml
(タイプはXDocument
)です。私はSUBMITTERALIAS
内のすべてのメールアドレスが文字列リストに保存する取得したい複数のforeach反復を単一のLINQに変更するにはどうすればよいですか?
<root>
<result>
<SUBMITTERALIAS>[email protected]</SUBMITTERALIAS>
</result>
<result>
<SUBMITTERALIAS>[email protected]</SUBMITTERALIAS>
</result>
</root>
:
RequestXml
は次のようになります。だから私は次のコードを書いた。私は仕事をして仕事をしています。
var emailAddresses = new List<string>();
foreach (var request in notificationRequest)
{
foreach (var email in request.RequestXml.Descendants("SUBMITTERALIAS"))
{
emailAddresses.Add(email.Value);
}
}
上記のforeachの代わりに1行のLINQコードを使用したいと思います。何か案は?
var emailAddresses =
from request in notificationRequest
from email in request.RequestXml.Descendants("SUBMITTERALIAS")
select email.Value;
そして、あなたが実際にリストすることを必要としない場合:
var emailAddressList = emailAddresses.ToList();
OOのアプローチあなたはちょうどそれが電子メールアドレスのシーケンスを返すようにクエリを平らにする必要が
emailAdressesは= .ToList() – kassi