0

いくつかの処理を行うネストされたforeachループが複数ありますが、この式をLinqに変換するにはどうすればよいですか?

slug.Text = "";
foreach (var script in slugItem.script) {
 foreach (var body in script.body) {
  foreach (var vo in body.vo) {
   foreach (var content in vo.content) {
    foreach (var text in content.text) {
     slug.Text = string.Format("{0}\n{1}", slug.Text, text.Value);
    } } } } }
4

2 に答える 2

2
slug.Text = string.Join("\n", slugItem.script.SelectMany(i=>i.body)
                                             .SelectMany(i=>i.vo)
                                             .SelectMany(i=>i.content)
                                             .SelectMany(i=>i.text)
                                             .SelectMany(i=>i.Value));
于 2012-07-04T08:47:26.657 に答える
1

なぜLinqを使用するのですか、それは何を追加しますか?しかし、私はStringBuilder

var slugtext = new StringBuilder();

foreach (var script in slugItem.script) 
{   
    foreach (var body in script.body) 
    {    
        foreach (var vo in body.vo) 
        {     
            foreach (var content in vo.content)
            {      
                foreach (var text in content.text)
                {       
                    slugText.AppendLine(text.Value);
                }
            }
        }
    }
}

 slug.Text = slugText.ToString();
于 2012-07-04T08:57:38.147 に答える