当前位置: 首页 > wzjs >正文

衢州做网站电商关键词工具

衢州做网站,电商关键词工具,做基因结构可以用哪个网站,不要钱的ppt模板网站一、LINQ 架构体系 1. LINQ 的核心思想 统一查询模型:对对象、XML、数据库等不同数据源使用一致的语法。强类型检查:编译时类型安全,减少运行时错误。 2. 核心组件 技术数据源典型场景LINQ to Objects内存集合 (IEnumerable)过滤/排序集合…
一、LINQ 架构体系

1. LINQ 的核心思想

  • 统一查询模型:对对象、XML、数据库等不同数据源使用一致的语法
  • 强类型检查:编译时类型安全,减少运行时错误。

2. 核心组件

技术数据源典型场景
LINQ to Objects内存集合 (IEnumerable)过滤/排序集合数据
LINQ to XMLXML 文档解析/查询 XML 节点
LINQ to SQL关系数据库将查询翻译为 SQL 执行

关键代码示例

// LINQ to Objects
var numbers = new List<int> { 1, 2, 3 };
var query = numbers.Where(n => n > 1);// LINQ to XML
XDocument doc = XDocument.Load("data.xml");
var elements = doc.Descendants("Book").Where(x => (int)x.Element("Price") > 50);// LINQ to SQL(伪代码)
var db = new DataContext();
var users = db.Users.Where(u => u.Age > 18);

二、查询表达式 vs 方法语法

1. 本质区别

  • 查询表达式:类 SQL 语法(from...where...select),可读性高。
  • 方法语法:链式调用扩展方法(Where()/Select()),灵活性更强。

2. 转换关系
所有查询表达式会被编译器翻译为方法语法

代码对比

// 查询表达式
var query1 = from num in numbers where num % 2 == 0 select num * 2;// 方法语法
var query2 = numbers.Where(num => num % 2 == 0).Select(num => num * 2);

三、IEnumerable 接口解析

1. 核心机制

  • IEnumerable:定义迭代能力(通过 GetEnumerator())。
  • IEnumerator:实现遍历逻辑(MoveNext()Current)。

2. LINQ 的延迟执行

  • 查询定义时不执行,直到迭代结果(如 foreachToList())时才触发。

代码验证延迟执行

var numbers = new List<int> { 1, 2, 3 };
var query = numbers.Select(n => {Console.WriteLine($"Processing {n}");return n * 2;
});// 此时无输出
foreach (var num in query) { } // 输出:Processing 1, Processing 2, Processing 3

四、创建首个 LINQ 查询(三步法)

1. 定义数据源

var products = new List<Product> {new Product { Name = "Apple", Price = 15 },new Product { Name = "Laptop", Price = 5000 },new Product { Name = "Book", Price = 80 }
};

2. 编写查询

// 方法语法
var expensiveProducts = products.Where(p => p.Price > 100).OrderBy(p => p.Name);

3. 执行查询

foreach (var product in expensiveProducts)
{Console.WriteLine(product.Name);
}

五、练习:集合过滤与投影

任务 1:过滤数据

// 数据源
var numbers = Enumerable.Range(1, 100);// 目标:选出 3 的倍数且大于 50 的数字
var result = numbers.Where(n => n % 3 == 0 && n > 50);

任务 2:投影转换

// 数据源
var persons = new List<Person> { /* 包含姓名和年龄的对象 */ };// 目标:生成 { Name = "张三", Initial = 'Z' } 形式的新对象
var initials = persons.Select(p => new {Name = p.Name,Initial = p.Name[0]
});

六、扩展思考
  1. 如何通过 yield return 自定义一个延迟执行的 LINQ 操作?
  2. IQueryableIEnumerable 在查询数据库时的区别?
  3. 如何组合 Where().OrderBy().Select() 实现复杂查询?

http://www.dtcms.com/wzjs/511691.html

相关文章:

  • 网页设计自学网站网络营销的案例有哪些
  • 如何打造网站啦啦啦资源视频在线观看8
  • 不知情的情况下帮别人做网站他违法百度云搜索资源入口
  • 前端搜索网站引擎怎么做疫情最新政策最新消息
  • 基于网站开发小程序学软件开发学费多少钱
  • 好看的网站建设杭州新站整站seo
  • 如何看一个网站是谁做的seo营销培训咨询
  • 南昌做网站的公司有哪些浙江网站推广
  • 盐山县做网站价格网站收录免费咨询
  • 做网站犯法网络营销的主要传播渠道是
  • wordpress规则什么是seo营销
  • 哪个网站可以做图片小网站关键词搜什么
  • 如何把做的网站放到百度上百度手机版
  • 室内设计网站集合友链交换
  • 山西做网站怎么做百度竞价排名怎么靠前
  • wordpress批量拿站谷歌浏览器app下载安装
  • 做互联网小程序 和网站有没有前景商城全网推广运营公司
  • 低价格制作网站软文推广发布
  • 应用公园app制作平台云优化
  • 做投资的网站班级优化大师怎么加入班级
  • 劲松做网站的公司网络营销的核心是用户吗
  • 做网站要空间还是服务器网站联盟广告
  • 服务好的合肥网站建设seo如何优化网站步骤
  • 网站系统开发报价单什么是百度快照
  • 网站主页制作seo标题关键词怎么写
  • 扬州哪家公司做网站比较好成人英语培训
  • 新疆 网站建设广州网络科技有限公司
  • 2网站建设公司北京seo优化厂家
  • 如何做网站优化百度400电话
  • 郑州做网站熊掌号广州番禺发布