LINQ序列详细描述

学习LINQ时,经常会遇到LINQ序列问题,这里将介绍LINQ序列问题的解决方法。

为企业提供成都网站设计、成都网站制作、网站优化、网络营销推广、竞价托管、品牌运营等营销获客服务。成都创新互联拥有网络营销运营团队,以丰富的互联网营销经验助力企业精准获客,真正落地解决中小企业营销获客难题,做到“让获客更简单”。自创立至今,成功用技术实力解决了企业“网站建设、网络品牌塑造、网络营销”三大难题,同时降低了营销成本,提高了有效客户转化率,获得了众多企业客户的高度认可!

自从学习LINQ以来,我发现了很多使用LINQ来改善代码的方式。每一个技巧都让代码写起来更简单,可读性更强。

这里总结了这些技巧。我会介绍如何使用LINQ来:
◆初始化数组
◆在一个循环中遍历多个数组
◆生成随机序列
◆生成字符串
◆转换序列或集合
◆把值转换为长度为1的序列
◆遍历LINQ序列的所有子集

本文介绍遍历LINQ序列的所有子集,如果你在LINQ方面有心得也欢迎在评论中一起分享。

遍历LINQ序列的所有子集

有的时候,遍历数组的所有子集很有用。子集和问题、布尔可满足性问题以及背包问题都可以通过遍历某个序列的所有子集来简单解决。

有了LINQ,我们可以如下声场所有arr数组的子集:

 
 
 
  1. T[] arr = ...;  
  2. var subsets = from m in Enumerable.Range(0, 1 << arr.Length
    select from i in Enumerable.Range(0, arr.Length) where 
    (m & (1 << i)) != 0 select arr[i]; 

注意,如果子集的个数超过了int,上面的代码就不能工作。因此,仅当你知道arr的长度不超过30的时候才去使用这个方式。如果arr长度超过30,你应该不会是想去遍历所有的子集,因为可能这会耗费几分钟或更长的时间。

希望这些技巧对你有用,这些示例代码都使用C#实现,但是你可以很容易得改变为其它.NET语言。

【编辑推荐】

  1. LINQ查询操作剖析
  2. LINQ生成字符串概述
  3. LINQ查询语法简单描述
  4. LINQ解决方案简单概述
  5. LINQ查询结果分析

标题名称:LINQ序列详细描述
分享地址:http://www.gawzjz.com/qtweb2/news10/3060.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联