没有linq让我怎么活

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Linq;
using System.IO;

public partial class Default8 : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    {
        var data 
= new List<WordComponents>();
        (
new DirectoryInfo(Server.MapPath("data"))).GetFiles("*.xml").ToList().ForEach(file =>
            {
                XDocument doc 
= XDocument.Load(file.FullName);
                var q 
= from w in doc.Descendants("entry")
                        select 
new WordComponents
                        {
                            Word 
= w.Descendants("hw").FirstOrDefault().Value.Replace("_""").Replace("^"""),
                            idioms 
= (from i in w.Descendants("idiom")
                                      select i.Element(
"phrase").Value).ToList(),
                            phrases 
= (from p in w.Descendants("phraserec")
                                       select p.Element(
"phrase").Value).ToList() ,
                            phrasalverbs 
= (from pv in w.Descendants("phrasal_verb")
                                            select pv.Element(
"phrase").Value).ToList(),
                        };
                data.AddRange(q.ToList());
            }
        );

        var qu 
= from w in data orderby w.runons.Count + w.phrases.Count + w.phrasalverbs.Count descending select w;
        qu.Take(
500).ToList().ForEach(w => Response.Write(string.Format("<strong>{0}</strong> contains {4} elements (idiom count:{1}/phrase count:{2}/phrasal verb count:{3})<br/>", w.Word, w.idioms.Count, w.phrases.Count, w.phrasalverbs.Count, w.idioms.Count+ w.phrases.Count+ w.phrasalverbs.Count)));
    }

    
public class WordComponents
    {
        
public string Word { getset; }
        
public List<string> runons { getset; }
        
public List<string> idioms { getset; }
        
public List<string> phrases { getset; }
        
public List<string> phrasalverbs { getset; }

        
public WordComponents()
        {
            runons 
= new List<string>();
            idioms 
= new List<string>();
            phrases 
= new List<string>();
            phrasalverbs 
= new List<string>();
        }
    }
}


 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Linq;
using System.IO;
using System.Data;

public partial class Default7 : System.Web.UI.Page
{
    
public class stat
    {
        
public string Name { getset; }
        
public string Value { getset; }
    }

    
protected void Page_Load(object sender, EventArgs e)
    {       
        var data 
= new List<stat>();
        (
new DirectoryInfo(Server.MapPath("data"))).GetFiles("*.xml").ToList().ForEach(file =>
            {
                XDocument doc 
= XDocument.Load(file.FullName);
                data.AddRange((from w 
in doc.Descendants("entry").Descendants()
                               
where w.Attribute("url"!= null
                               select 
new stat
                                  {
                                      Value 
= w.Attribute("url").Value,
                                      Name 
= w.Name.LocalName
                                  }).ToList());
            });

        (from d 
in data
         group d by d.Name into g
        select 
new { g.Key, Num = g.Count() }).ToList().ForEach(
         a 
=> Response.WriteLine(string.Format("{0}:{1}", a.Key, a.Num)));

    }
}

public static class ext
{
    
public static void WriteLine(this HttpResponse response, object o)
    {
        response.Write(o.ToString() 
+ "<br/>");
    }
}
posted @ 2009-03-06 12:34 lovecherry 阅读(...) 评论(...) 编辑 收藏