没有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 @   lovecherry  阅读(5102)  评论(12编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示