linq基础入门
  语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁。可以用 Visual Basic 或 C# 为SQL Server 数据库、XML 文档、ADO.NET 数据集以及支持 IEnumerable 的任意对象集合编写 LINQ 查询。
  相关技术有:LINQ to SQL、LINQ to XML、LINQ to DataSet、LINQ to Objects。
  “LINQ to Objects”是指直接对任意 IEnumerable 或 IEnumerable<T>集合使用 LINQ 查询。如下:
       var strs =new string[] {"gts","ts","gao","a","b","aa","ab" };
            var myStrs = from str in strs
                                select new { Name1 = str.ToUpper(), Name2 = str.ToLower() };           
            foreach (var s in myStrs)
            {
                MessageBox.Show(s.Name1+"  "+s.Name2);
            }
  此外还可以直接ArrayList、list<T>,下面看一下如何查找指定目录树中具有指定文件扩展名(例如“.txt”)的所有文件,然后根据创建时间返回树中最新或最旧的文件。
       class FindFileByExtension
       {
           static void Main()
           {
               string startFolder = @"c:\program files\Microsoft Visual Studio 9.0\";
               IEnumerable<System.IO.FileInfo> fileList = GetFiles(startFolder);
               IEnumerable<System.IO.FileInfo> fileQuery =
                   from file in fileList
                   where file.Extension == ".txt"
                   orderby file.Name
                   select file;
               foreach (System.IO.FileInfo fi in fileQuery)
               {
                   Console.WriteLine(fi.FullName);
               }
               var newestFile = 
                   (from file in fileQuery
                   orderby file.CreationTime
                   select new { file.FullName, file.CreationTime })
                   .Last();               Console.WriteLine("\r\nThe newest .txt file is {0}. Creation time: {1}",
                   newestFile.FullName, newestFile.CreationTime);
               Console.WriteLine("Press any key to exit");
               Console.ReadKey();
           }           static IEnumerable<System.IO.FileInfo> GetFiles(string path)
           {
               if (!System.IO.Directory.Exists(path))
                   throw new System.IO.DirectoryNotFoundException();               string[] fileNames = null;
               List<System.IO.FileInfo> files = new List<System.IO.FileInfo>();               fileNames = System.IO.Directory.GetFiles(path, "*.*", System.IO.SearchOption.AllDirectories);            
               foreach (string name in fileNames)
               {
                   files.Add(new System.IO.FileInfo(name));
               }
               return files;
           }
       }  由此可见数据执行的操作越复杂,使用 LINQ 代替传统迭代技术的好处就越多。
唐山迪锐软件: www.tsp2c.cn

解决方案 »

  1.   


    从菜鸟到项目经理之路
    学习地址 :http://www.ibeifeng.com/asp.php (1)方便、快捷、足不出户:北风网是一家专注于IT技术培训的网站,我们主要通过在线培训、网络答疑等方式实现师生互动,我们的优势:足不出户,学到更好、更实在的课程!您可以兼职学习、也可以全职在家攻读,省去了去实体培训机构的各类费用,真正做到在家也能上名校!  (2)省钱、省心、更省精力      您不再需要8800、您也不在需要9800的学费了,在我们这您只要花上1000多的学费,就可以学到同样、甚至更好的课程!真正做到省钱、省心!  (3) 一线师资牵头、做到更贴近企业!      本次培训由北风网教学一线讲师牵头,主要有:小孔子讲师(.net资深工程师) 牛牛讲师(一线资深讲师)、西夏普(上海某外包公司项目经理)、3位讲师鼎力配合,推出系列力作!  (4) 师生互动学习,学生老师分组派对      本次培训采用师资互动派对方式,一个老师搭配几个学生,全程指导学习,如学习中问题,定期的进度检查之类的,全部由讲师全权负责!凡是报名学员都可以加入技术交流群!  (5) 课程安排更合理---项目多而精(6大项目配合实战)      本次课程安排项目实战多而精彩,我们采用多个项目结合应用,从小到大,循序渐进!从简单的拼图游戏制作—家庭理财软件开发—迅风下载软件开发—CMS文章内容管理系统—大型企业级别OA项目实战—对日外包项目实战开发!我们全程做到贴近公司需求!  (6) 辅助学习资源更实在、终身学习、终身进步      北风网是国内最大,最权威的IT网站,我们强调最大,主要在于北风网拥有10T的精品资源,4台服务器365天运作!我们的资源涵盖行业中的各大领域,从IT编程、到做人、到如何理财,一应俱全,本次参加学习的学员,全部赠送龙卷风会员账号1个,可以下载10T资源,价值无可估量,活到老,学到老,冠军只是起点!我们永远在跑步!  (7) 学习后您可以达到什么样的水平? 
         学后的水平,这是大家最关注的问题,学好本系列课程,如果您对CMS文章内容管理系统能够很好的应用,我们可以告诉您,您可以去应聘普通公司的一些网站开发程序员之类的职位!如果您学到OA项目,并能够根据老师的讲解,去进行开发,了解业务流程,可以和欣喜的告诉您,您可以说精通了ASP.NET,在简历上可以加上一句,拥有OA项目开发实战经验,如果您全程都学会了,学明白了,您可以应聘一些外包性质的企业、以及一些国内的大中型公司!
        明白了上面您为什么要学软件开发,您为什么要选择北风网,下面您就迫切需要去了解我们资费方面以及如何去开始我们的编程之路!
      (8) 低廉的学习费用!还有VIP赠送(可下10T的费用学习资源)      本次学习课程费用安排为:普通会员购买总价格1400(附送龙卷风账号一枚,可下10T资源)、龙卷风会员购买价格为1100元、终身会员购买费用为1000元钱如果您想单独购买其中一门课程,可以登陆北风网首页单独购买!如您已经购买过本套餐中的课程,您还需要学习其他课程,您可以联系客服人员进行价格结算!  
     
     
    初级部分课程名称 
     学习内容 
     达到效果
     
    C#从入门到精通(打造C/S编程高手)
     带领大家进入C#编程世界
    C# 语法、编程方法、编程技巧。深入理解和学习面向对象的思想和方法,学会用面向对象的方法去认识问题、分析问题和解决问题,
    针对循环、数组、类的概念、类的构建、类的使用、对象的创建、面向对象的思想、集合、常用算法、泛型、委托、迭代器
    讲授数据库的基本知识和SQL Server 2005, 讲授数据库的设计和优化,学习T-SQL 和数据库编程,学习存储过程(stored procedure)、触发机制(trigger)和索引(index)
    5.Winform、ADO.NET、设计模式、三层架构、控件方面的一些知识等 
     基本了解C#方面的语法,对面向对象的思想,循环,算法,等思想 对数据库知识有个简单的了解,对winform,ADO.NET,三层架构、控件等都可以应用,初步了解编程是怎么一回事! 
     
    拼图游戏的开发 
     学会拼图游戏的制作 
     初步学会小项目的制作,拥有一定的成就感(点击试看本游戏------>点击)
     
    家庭理财软件 
     C# 高级编程和Windows Form开发 
     根据知识点先后完成如下项目:基于winform的单机版本软件开发! 
     
    项目实战演练 
     
     (点击试看迅风下载软件开发课程------>点击)
     
    基于Winform下的迅风下载软件全程开发(C#应用版)
     1项目背景(0.5课时) 
    1.1下载工具的分类,现状 
    1.2下载的原理 
    2GUI设计(1.5课时) 
    2.1WinForm基本控件的使用 
    2.2迅风下载主框架的搭建 
    3文件流及对象存储(2课时) 
    3.1文件流操作(0.5课时) 
    3.2二进制数据读写(0.5课时) 
    3.3对象序列化 (1课时) 
    4多线程数据分发(1.5课时) 
    4.1多线程的概念(0.5课时) 
    4.2多线程的操作、锁、并发处理(1课时) 
    5Winsock编程(10讲) 
    5.1Http协议及Http数据收发模拟(1讲) 
    5.2套接字编程(3.5讲) 
    5.3断点续传的实现(0.5讲) 
    5.4单线程文件下载(0.5课时) 
    5.5多线程文件下载(3.5课时) 
    5.6状态点的设置 
    5.7状态控制 
    5.8数据整合 
    6文件合并(3讲) 
    6.1状态监控 
    6.2文件视图的处理 
    6.3数据还原? 
     迅风下载软件开发---本项目基于一款基于多资源超线程技术的下载软件全程开发。主要技术有 C/S界面、点对点数据交换技术和多线程异步请求模型创建,文件切割与合并,数据存储采用序列化和文件流操作,以及伪端口,强制供源等,该下载软件支持断点续传。 学好本项目后,对C#系列课程具有很深的理解,已经可以从事一些基于C#,winform等级别的软件开发。  中级部分课程名称 
     学习内容 
     达到效果 (点击试看----->点击)
     
    ASP.NET从入门到精通系列课程
     1? 第一个ASP、NET开发的小程序,操作简单,功能很强大(1课时) 
    2? 页面间的数据传递技术(1.5课时) 
    3? ASP、NET六大对象(Request、Response、Server、Application、Session、Cookie)(5课时) 
    4? Web服务器端控件和Html服务器端控件(1.5课时) 
    5? 母版页和站点导航(2课时) 
    6? 三层架构开发(3.5课时) 
    7? ASP、Net中基础数据绑定(2课时) 
    8? ASP、Net中高级绑定数据显示GridView+DataList+Repeater开发技巧(8课时) 
    9? RSS开发(XML)(1.5课时) 
    10 第三方组件FckEditor和代码辅助工具CodeSmith模版编写(3.5课时) 
    11 接口HttpHandler(1课时) 
    12 缓存技术(1.5课时) 
    13? ASP、NET配置文件(1课时) 
    14? LinQ技术纵横谈(3课时) 
    15? WebService开发--设计java和donet的互操作,web站点的互调、以及大型系统下的负载均衡的设计(7课时) 
    16? Ajax核心和AJAX框架(1.5课时) 
     
    本阶段课程主要介绍了ASPNET开发中最主要技术和最流行的技术,包括ASP、NET编程模式、对象、三层框架、第三方组件,WebService、AJAX、LINQ等等。 学好本系列课程之后对ASP.NET具有一定的入门功效,属于入门系列课程,是国内为数不多的ASP.net系列精讲课程。对后面高级课程的学习具有一定的铺垫作用。  
    基于ASP. net版本文章管理系统(CMS)2.0版本全面实战(小孔子文章内容管理系统)
     1. 准备工作 
    1.1. 数据库设计 
    1.2. 架构设计(3讲) 
    1.3. 常用控件简介 
    2. 系统管理 
    2.1. 系统设置 
    2.2. 友情链接,公告 
    3. 安全管理 
    3.1. 角色管理 
    3.2. 帐户管理 
    4. 内容管理 
    4.1. 栏目管理 
    4.2. 文章管理 
    4.3. FckEditor的使用与集成 
    4.4. 完美的内容编辑 
    4.5. 评论管理 
    4.6. 内容模板 
    5. 信息采集 
    5.1. 项目维护(3讲) 
    5.2. 历史数据 
    6. 风格模板 
    6.1. 方案管理 
    6.2. 模板管理 
    6.3. 静态文件管理 
    7. 前台实现 
    7.1. 模板标签使用方案 
    7.2. 生成静态页方案(3讲) 
    (点击试看文章内容管理系统开发----->点击)本教程旨在提供最传统最有效的系统设计方式,带领学员熟练掌握项目开发的流程、熟练使用各种系统控件和自定义控件,掌握WebForm开发的精髓,并指导学员打下坚实的面向理论基础。本次教程将推翻2.0的开发模式,使用分层模式重新开发。系统中将会用到泛型、JQuery等当前流行的技术,同时教程中会深入讲解系统中的各知识点,如传值(Post,Get,Session,Cookie等)、远程采集、自定义分页、自定义模板、生成静态页、页面瘦身、快速开发等。可能不会有最新最牛的技术,但肯定会有最实用最有用的知识。 
     高级部分项目实战课程
     学习内容 
     达到效果 
     
    基于ASP.NET MVC+Linq等技术下的企业级通用OA系统全程开发
     1.个人桌面
    1.1.个人考勤
    1.1.1.每日考勤
    1.1.2.请假申请
    1.1.3.考勤记录
    1.2.工作计划
    1.2.1.个人计划
    1.2.2.部门计划
    1.2.3.日程管理
    1.3.通讯录
    1.3.1.分组管理
    1.3.2.个人通讯录
    1.3.3.公司通讯录
    1.3.4.客户通讯录
    1.4.客户管理
    1.4.1.客户列表
    1.4.2.客户跟踪
    1.4.3.信息汇总
    2.人力资源
    2.1.人事管理
    2.1.1.部门管理
    2.1.2.职位管理
    2.1.3.员工管理
    2.2.考勤管理
    2.2.1.考勤设置
    2.2.2.请假设置
    2.2.3.员工考勤
    2.3.办公用品
    2.3.1.类别管理
    2.3.2.物品管理
    3.公文流转
    3.1.流程分类管理
    3.2.流程操作管理
    3.3.流程设计
    3.4.办公流程
    3.5.我的申请列表
    3.6.我的审核列表
    3.7.综合查询
    4.内部交流
    4.1.新闻中心
    4.2.工作贴吧
    4.3.贴吧管理
    4.4.内部共享
    4.5.内部邮件
    4.5.1.写邮件
    4.5.2.收件箱
    4.5.3.发件箱
    4.5.4.草稿箱
    4.5.5.垃圾箱
    5.会议管理
    5.1.会议室管理
    5.2.会议列表
    5.3.我的会议
    6.项目管理
    6.1.项目列表
    6.2.投递文档
    6.3.目录管理
    6.4.权限管理
    6.5.成员管理
    6.6.订阅项目
     
    (点击试看小孔子内部OA项目实战----->点击)本项目为小孔子讲师企业级别OA项目实战课程系列,学好本课程后您可以基本达到如下的效果:
    1.真正了解ASP.NET的高级应用,能够适合企业级别的开发,尤其对在校生进入企业后可以实现快速上手有很大的帮助.
    2.真正了解ASP.NET企业级别OA的实战,了解其业务流程。了解各类辅助工具的使用。
    3.对权限模块、工作流、邮件系统等技术具有一定的了解。
    4.OA中的基本业务逻辑都能够很好的掌握,在应聘企业过程可以很大胆的讲出,自己拥有企业内部OA项目的开发经验! 对日外包项目实战课程
     学习内容 
     达到效果 
     
    对日外包项目work flow通用工作流程系统(项目管理系列) 第一章? 预备知识 
    1.1 什么是项目
    1.2 什么是项目管理
    1.3 项目的生命期
    1.4 项目管理过程
    第二章? 项目的启动 
    2.1 启动过程组
    2.2 各类环境因素的考量
    2.3 规划各个过程组
    2.4 制作工作分解结构(WBS)
    第三章? 项目规划 
    3.1 制定项目章程规范说明书
    3.2 制定项目管理计划书
    3.3 一些需要预见或引起重视的问题
    第四章? 问题定义及规划 
    4.1 问题定义
    4.2 业务范围定义
    4.3 风险规避
    第五章? 要件定义和需求分析 
    5.1 如何确定业务要件
    5.2 确定业务要件可以采用的手法
    5.3 需求分析阶段需要解决的问题
    5.4 需求不明确时可以采用的手法
    5.5业务模型的构建
    5.6 实例解读
    第六章? 概要设计 
    6.1 目标
    6.2概要设计的文档
    6.3 如何应对需求变更
    6.4 实例解读
    第七章? 详细设计 
    7.1 目标
    7.2 详细设计文档
      .ER图
      .UI画面设计书
      .Class图
      .时序图
      .详细设计书
    7.3 实例解读
    第八章? 程序设计 
    8.1 何谓程序框架
    8.2 本案例采用的框架说明
      .DB层
      .业务层
      .可视图
    8.3 程序设计技巧
      . SQL语句统一管理
      . 多语言的版本实现
      . 用户自定义控件的设计
    第九章? 程序开发 
    9.1 VO的妙用
    9.2 用户自定义控件的实现
      .支持多语言的文本控件
      .自动增加空白行的下拉框控件
      .自定义GridView控件
    9.3 实例解读
      . 动态表单的设计及实现思想
      . 承认流程Service设计开发
     
    (点击试看对日外包项目课程----->点击)
    1.本项目是以项目管理、对日外包课程为主线进行讲解,课程所以项目管理类课程,是走向项目经理和从事外包项目必须学习的。
    2.对对日外包项目开发流程有一个基本的了解!
    3.了解一些各类需求文档之类的书写。同时基本了解开发组人员的基本分工
    4.了解一些业务逻辑上面的思想。
    5.对项目经理应该做的事情有了大体的了解
    6.对本系列全程课程有一个大体的总结,至此将完成您由菜鸟到项目经理之路的安排!