运用Linq,将List<T> 转换为 Dictionary<T Key,T Value> 即:List<T>  ToDictionary<T Key,T Value> 废话不说,看代码: 示例代码:按照性别分类 class Program { public class Student { public string Name { get; set; } public int Age { get; set; } public int Sex { get; s…
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5832322.html,记录一下学习过程以备后续查用. LINQ 简介:     语言集成查询(LINQ)是Visual Studio 2008和.NET Framework 3.5版中引入的一项创新功能. 传统上,针对数据的查询都是以简单的字符串表示,而没有编译时类型检查或IntelliSense支持.此外,您还必须针对以下各种数据源学习一种不同的查询 语言:SQL数据库.XML文档.各种Web服务等.通过…
最近在学习linq的一些基础知识,看了c#高级编程及阅读了园子内部几篇优秀的博文,有所体会,感觉应该记录下来,作为以后复习使用.都是一些最基础的知识,大致分为三个部分:linq预备知识:linq查询:linq to sql.新手可以看看,大牛可以指点指点,谢谢了. 一.linq预备知识: 1.隐式类型 在隐式类型出现之前,做法是 int a = 10; string str = "abc"; 使用隐式类型,代码如下: var a = 10; var str = "abc&qu…
写在前面 最近在看Linq,在博客园看到这篇文章,写的通俗易懂,转来和大家一起做个分享.原文地址http://www.cnblogs.com/goscan/archive/2011/05/05/Linq_study_log.html 什么是Linq LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知.静态类型等强类型语言的好处.并且它同时还使得查…
写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些兴趣,所以打算整理点东西出来跟大家一起做个分享. 什么是Linq LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知.静态类型等强类型语言的好处.并…
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5801249.html,记录一下学习过程以备后续查用. “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法,大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T>接口 或 IQueryable<T> 接口.标准查询运算符提供了包括筛选.投影.聚合.排序等功能在内的查询功能,各个标准查询运算符在执行时间上有所不同,具体情况 取决于它们是返回单一值还…
刚刚学习了 Siki老师 的C#教程Linq部分,以下是笔记 需要引用命名空间 using System.Linq; 然后我们需要准备数据 武林高手类 /// <summary> /// 武林高手类 /// </summary> class MartialArtsMaster { public int ID { get; set; } public string Name { get; set; } public int Age { get; set; } public strin…
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5814204.html,记录一下学习过程以备后续查用. 一.统计单词在字符串中出现的次数 请注意,若要执行计数,请先调用Split方法来创建词数组.Split方法存在性能开销,如果对字符串执行的唯一操作是计数词,则应考虑改用Matches或 IndexOf方法. class Program { static void Main(string[] args) { #region LINQ 统计单词在字符串中出现…
学习资源参考 : http://www.cnblogs.com/lifepoem/archive/2011/12/16/2288017.html 常用方法是 Where, OrderBy, Select 高级点的是 GroupBy, Join LINQ 主要用于解决早期多种数据类型之间的交互关系,还有forloop的场景,比如以前我们总觉得 List<Class> 不就是table 嘛,干嘛要搞分类强转,不能学一下js吗.过后我们就自己用泛类,反射和委托等等实现了一些方便处理不同数据格式的问题…
LINQ,语言集成查询: LINQ TO SQL,同EF,NHibernate一样,也是一种ORM框架: 1. 入门应用示例: static public void LinqBasic() { var colors = new[] { "Red", "Orange", "Yellow", "Black", "Purple", "Grenn", "White", &qu…
下面对各子句解释 from子句:查询表达式的开始子句,查询表达式必须以from子句开头. 格式:from u in source 其中u表示范围变量,它表示源序列中的每个后续元素,source为数据源. 查询表达式可以包含多个from子句,当源序列中的每个元素本身就集合或者包含集合时, 可使用附加的from子句. IEnumerable<City> cityQuery =from country in countriesfrom city in country.Citieswhere city…
LINQ,语言集成查询(Language Integrated Query)是一组用于C#和Visual Basic语言的扩展. 它允许编写C#或Visual Basic代码以查询数据库相同的方法操作内存数据. 它在.Net Framework的System.Linq.命名空间. 它是在.NET Framework 3.5 出现的技术,所以在创建新项目的时候必须要选3.5或者更高的版本. 否则无法使用,在更高的版本创建项目时会自动包含System.Linq的命名空间. LINQ语法和SQL语法非…
本文分享自lliulun的30分钟linq教程,地址:http://www.cnblogs.com/liulun/archive/2013/02/26/2909985.html 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在foreach一个集合的时候, 也要为遍历的集合的元素,指定变量的类型 隐式类型的出现, 程序员就不用再做这个工作了. (2)使用方法   来看下面的代码: ; //int a =…
本笔记摘抄自:https://www.cnblogs.com/yaozhenfa/p/CSharp_Linq_For_Xml.html,记录一下学习过程以备后续查用. 一.生成xml 1.1创建简单的xml /// <summary> /// CreateXml类 /// </summary> public class CreateXml { /// <summary> /// 返回xml文件路径 /// </summary> public string P…
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5816051.html,记录一下学习过程以备后续查用. 许多文件系统操作实质上是查询,因此非常适合使用LINQ方法. 一.查询具有指定属性或名称的文件 此示例演示如何查找指定目录树中具有指定文件扩展名(例如“.txt”)的所有文件,还演示如何根据创建时间返回树中最新或最旧的文件. class Program { static void Main(string[] args) { #region LINQ 查询…
首先需要在项目中新增一个 linq  to sql 的服务 新增项,数据,LINQ TO sql 类的这个方法 第二步需要一个model类,用作映射 [Table] public class S_ZDB { //每一个属性都需要加上[Column] [Column] public string ZDMC { get; set; } [Column] public string ZDLX { get; set; } //下面这个属性是主键 [Column(IsPrimaryKey = true)]…
linq语句查询执行的时机 第一步获取数据源 int [] obejct = new int[]{1,2,3,4,5,6,7,8,9} 第二步定义查询 var even = numbers.where(p=>p%2==0).select(p=>{Console.WritLine("HI")}) 第三步执行查询 foreach(var item in even ){} 定义查询后,查询直到需要枚举结果是才被真正执行,这种方式称为""延迟执行"&q…
linq解决的问题 1.编程语言中的数据类型与数据库中的数据类型形成的两套体系 2.SQL编码体验落后 3.SQL和XML都有各自的查询语言,而对象没有自己的查询语言 linq简单的集合查询和foreach的区别 int[] arr = { 123, 12, 1, 123, 154, 15, 5456, 12, 5, 5, 1516 }; //ArrayList re = new ArrayList(); //for (int i = 0; i < arr.Length; i++) //{ //…
最基本的Lambda表达式 (参数列表)=>{f方法体} 参数列表中的参数类型可以是明确类型或者是推断类型 如果是推断类型,则参数的数据类型将由编译器根据上下文自动推断出来 linQ to Obejct的操作 一些简单的查询 下面所使用的Print方法在list中是没有,是自己写的拓展方法,代码在最下面 private void button5_Click(object sender, EventArgs e) { //LinQ to Object //泛型集合 List<string>…
开始Linq前你要知道的 扩展方法 顾名思义就是对现有类进行扩展的的方法,扩展方法可以在不修改现有类的情况下,为现有类增加公共的接口(不是C#中的interface). 扩展方法本质上是一个静态方法,不同之处在于它的第一个参数必须有this关键字声明,并且第一个参数的类型即为要扩展的类型.如 public static double ToDouble(this string source) { double res = 0d; double.TryParse(source, out res);…
LINQ to XML的成员, 属性列表: 属性 说明 Document 获取此 XObject 的 XDocument  EmptySequence  获取空的元素集合  FirstAttribute  获取此元素的第一个属性  FirstNode  获取此节点的第一个子节点  HasAttributes  获取一个值,该值指示此元素是否至少具有一个属性  HasElements  获取一个值,该值指示此元素是否至少具有一个子元素  IsEmpty  获取一个值,该值指示此元素是否不包含内容…
简介: LINQ 提供一种统一的方式,让我们能在C#语言中直接查询和操作各种数据.​​ LINQ是用来描述数据访问总体方式的术语.LINQ to Object是针对实现了IEnumerable<T>的对象的LINQ:LINQ to SQL是针对关系数据库的LINQ:LINQ to XML是针对XML文档的LINQ.​ ​ LINQ除了提供一个统一的API来操作各种数据,并且为我们提供了编译时类型检查和动态创建查询表达式的能力.​ LIINQ相关的C#语言功能 1.隐式类型局部变量 局部变量用v…
First: 找到符合条件的第一记录,就返回了,不管后面还有多少数据. Single: 先将记录都梳理一次,再找到符合要求的唯一记录.   Single():操作一个集合,同时强要求只有一个对象匹配,并返回这一个. First():操作一个集合,可以有多个对象匹配,但是只返回第一个. Take(1):操作一个集合,可以有对个对象匹配,单只返回第一个,但是这里返回的是一个集合,而不是单个的概念.     Take()方法的作用就是:从查询结果中提取前n个结果.而实例中出现的Skip()方法正好是T…
1.LINQ简介 LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.包括五个部分:LINQ to Objects.LINQ to DataSets.LINQ to SQL.LINQ to Entities.LINQ to XML.最常用的就是LINQ to SQL. 2.LINQ TO SQL 语法 基本格式:  from p in 表名 where 条件 select p where 操作:与SQL命令中的Where作用相似,都是起到范…
LINQ中的Join对应T-SQL中的内连接,并无左连接的方法,当然也没有右连接. 要达成Left join必须依靠GroupJoin来完成. GroupJoin顾名思义就是先集团在做加入,加入的不同处在于加入会得到一个一对一的新物件集合(List <T>),而GroupJoin则会得到一对多的物件集合({key,List < T>}). 以下是join与GroupJoin的比较 资料表如图:ID = 004无可对应的资料 var _Join = SLIST.Join(ScoreL…
上一篇是根据百度百科写的随便,同时也纠正我对LINQ的看法,因为首次接触LINQ是使用EF对数据库数据的操作. 所以误以为它操作数据库的一种新手段. LINQ语言集成查询是一组技术的名称,这些技术建立在查询功能直接集成在带C#语言的基础上. 借助LINQ,查询现在已经是高级语言构造,就如同类.方法.事件等等. LINQ的数据源包括SQL数据库,ADO.NET数据集,XML文档和流,以及.NET集合中数据. 下面是以简单的例子入门 // 指定数据源 int[] scores = new int[]…
LINQ 查询适用于实现的数据源 IEnumerable<T>接口或System.Query.IQueryable接口. DataTable类默认是没有实现以上接口的. 所以要在DataTable中使用LINQ查询,需要调用一下AsEnumerable方法,返回一个EnumerableRowCollection<DataRow>集合. 实例如下所示: using System; using System.Collections.Generic; using System.Data;…
http://kb.cnblogs.com/page/42465/ Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句. Where操作包括3种形式,分别为简单形式.关系条件形式.First()形式.下面分别用实例举例下: 1.简单形式: 例如:使用where筛选在伦敦的客户 var q = from c in db.Customers where c.City == "London&quo…
XML如下: <?xml version="1.0" encoding="utf-8"?> <Dishes> <Dish> <Name>清新芦荟</Name> <Category>饮料</Category> <Comment></Comment> <Score>5</Score> </Dish> <Dish> &…
Select() 作用于uIEnumerable<TSource>类型 public static void Test() { List<string> persons = new List<string>(); persons.Add("张 一"); persons.Add("杨 二"); persons.Add("张 三"); persons.Add("贾 四"); persons.Ad…