using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Text.RegularExpressions;
using System.Linq; namespace codeTest
{
class Program
{
static void Main(string[] args)
{
//linq : Lauage Intergarted Query
//继承IEnumerable的类,都可以使用linq
//Linq to sql,Linq to xml,Linq to DataSet,Linq to objects
//linq语句在具体调用时,才会执行 toList() Count() List<Customer> Customers = new List<Customer>();
Customers.Add(new Customer() { CustomerName = "Li1", CityID = });
Customers.Add(new Customer() { CustomerName = "Li2", CityID = });
Customers.Add(new Customer() { CustomerName = "Li3", CityID = });
Customers.Add(new Customer() { CustomerName = "Li4", CityID = }); List<City> Citys = new List<City>();
Citys.Add(new City() { CityID = , CityName = "北京" });
Citys.Add(new City() { CityID = , CityName = "上海" });
Citys.Add(new City() { CityID = , CityName = "广州" });
Citys.Add(new City() { CityID = , CityName = "深圳" }); #region 简单查询
//1.Query systax
var query = from c in Customers
where c.CityID % ==
orderby c.CityID descending
select c; foreach (var item in query)
{
Console.WriteLine("{0},{1}", item.CustomerName, item.CityID);
} Console.WriteLine(); //2.Method systax
var query2 = Customers.Where(c => c.CityID % == ).OrderByDescending(c => c.CityID);
foreach (var item in query2)
{
Console.WriteLine("{0},{1}", item.CustomerName, item.CityID);
}
#endregion #region Group
Console.WriteLine("queryGroup");
//1.Query systax
var queryGroup = from c in Customers
group c by c.CityID; foreach (var group in queryGroup)
{
Console.WriteLine("{0}", group.Key);
foreach (var item in group)
{
Console.WriteLine("{0},{1}", item.CustomerName, item.CityID);
}
} Console.WriteLine(); //2.Method systax
var queryGroup2 = Customers.GroupBy(c => c.CityID);
foreach (var group in queryGroup2)
{
Console.WriteLine("{0}", group.Key);
foreach (var item in group)
{
Console.WriteLine("{0},{1}", item.CustomerName, item.CityID);
}
}
#endregion #region into
Console.WriteLine("into");
//1.Query systax
var queryGroupinto = from c in Customers
group c by c.CityID into cGroup
where cGroup.Count() >
select new { CityID = cGroup.Key, Cout = cGroup.Count() }; foreach (var group in queryGroupinto)
{
Console.WriteLine("{0},{1}", group.CityID,group.Cout);
} Console.WriteLine(); //2.Method systax
var queryGroupinto2 = Customers.GroupBy(c => c.CityID).
Where(cGroup => cGroup.Count() > ).
Select(cGroup => new { CityID = cGroup.Key, Cout = cGroup.Count() });
foreach (var group in queryGroupinto2)
{
Console.WriteLine("{0},{1}", group.CityID, group.Cout);
}
#endregion #region join
Console.WriteLine("join");
//1.Query systax
var queryJoin = from c in Customers
join ci in Citys on c.CityID equals ci.CityID
select new { CustomerName = c.CustomerName, c.CityID, ci.CityName };
foreach (var item in queryJoin)
{
Console.WriteLine("{0},{1},{2}", item.CustomerName, item.CityID,item.CityName);
}
Console.WriteLine();
//2.Method systax
var queryJoin2 = Customers.Join(Citys,
c => c.CityID,
ci => ci.CityID,
(c, ci) => new { CustomerName = c.CustomerName, c.CityID, ci.CityName }); foreach (var item in queryJoin2)
{
Console.WriteLine("{0},{1},{2}", item.CustomerName, item.CityID, item.CityName);
}
#endregion Console.ReadLine();
} class Customer
{
public string CustomerName { get; set; }
public int CityID { get; set; }
} class City
{
public int CityID { get; set; }
public string CityName { get; set; }
}
} }

C#的LINQ to Object的更多相关文章

  1. .NET面试题系列[13] - LINQ to Object

    .NET面试题系列目录 名言警句 "C# 3.0所有特性的提出都是更好地为LINQ服务的" - Learning Hard LINQ是Language Integrated Que ...

  2. LINQ系列:Linq to Object投影操作符

    投影是指在将序列中的元素转换为一个自定义形式的操作.投影操作符Select和SelectMany用于选择出赋予了适当功能的值.SelectMany操作符可以处理多个集合. LINQ表达式语法: 1. ...

  3. LINQ系列:Linq to Object生成操作符

    生成操作符从现有序列值中创建新的序列. 1. Empty  Empty操作符返回一个指定类型的空集. 1>. 原型定义 public static IEnumerable<TResult& ...

  4. LINQ系列:Linq to Object转换操作符

    转换是指将输入对象的类型转变为序列的动作. 1. AsEnumerable AsEnumerable操作符将查询的输入以IEnumberable(T)类型返回. 2. Cast Cast操作符将IEn ...

  5. LINQ系列:Linq to Object量词操作符

    量词操作符返回一个Boolean值,指示序列中是否存在部分或全部元素符号指定条件.LINQ中量词操作符包括:All.Any和Contains. 1. All All操作符判定在集合中是否所有的值都满足 ...

  6. LinQ To Object 基本用法

    http://www.cnblogs.com/terryzh/archive/2012/11/10/2763538.html LinQ To Object 基本用法 inq的基本语法:var resu ...

  7. SQO (标准查询运算符)方法 & Linq To Object

    #region SQO (标准查询运算符) 方法 #region Where() Find() FindAll() FirstOrDefault()等方法 static void c01where() ...

  8. 1.解剖Linq to object

    LINQ想必大家都不陌生了,它的出现使得我们的代码变得更短.更优雅了.至于LINQ是什么,Linq to object这类的扩展方法到底做了些什么.我们使用的EF是如何实现的(如何解析Expressi ...

  9. Linq to EF 与Linq to Object 使用心得

    大家都知道Linq既可以用来查询数据库对象(我这里指的是Entity FrameWork里的Model对象),也可以用来查询内存中的IEnumerable对象. 两者单独查询时都不会出现什么问题,不过 ...

  10. Linq to OBJECT延时标准查询操作符

    1.Where 操作符用于限定输入集合中的元素,将符合条件的元素组织声称一个序列结果.2.Select  操作符用于根据输入序列中的元素创建相应的输出序列中的元素,输出序列中的元素类型可以与输入序列中 ...

随机推荐

  1. 内网安全工具之hscan扫描

    工具下载地址:hscan1.2.zip 界面简单,看配置: 这里我们主要需要配置的是模块和参数 模块,按照默认配置就行,取消 check HTTP vulnerability(漏洞检测) 会更快一点. ...

  2. Sqli-LABS通关笔录-7[文件写入函数Outfile]

    该关卡最主要的就是想要我们学习到Outfile函数(文件写入函数)的使用. 通过源代码我们很容易的写出了payload.倘若我们一个个去尝试的话,说实话,不容易. http://127.0.0.1/s ...

  3. 剑指Offer 矩形覆盖

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?   解法,还是斐波那契数列   AC代码: class So ...

  4. 5.1---二进制数插入(CC150)

    public class Solution { public static int binInsert(int n, int m, int i, int j) { // write code here ...

  5. 烂泥:php5.6源码安装及php-fpm配置

    LNMP环境的搭建中,现在只有php没有源码安装过.这篇文章就把这个介绍下. 注意本篇文章使用的centos 6.5 64bit. 登陆centos下载php5.6的安装包.php的软件包可以去国内的 ...

  6. ip netns相关命令

    1.增加虚拟网络命名空间   ip netns add net0   2.显示所有的虚拟网络命名空间 EULER:~ # ip netns list net0 也可通过查看/var/run/netns ...

  7. 【GoLang】golang中 channel 实现同步 与mutex/atomic 实现同步的讨论

    参考资料: https://groups.google.com/forum/#!topic/golang-china/q4pFH-AGnfs

  8. close与shutdown函数

    linux网络编程之socket(十):shutdown 与 close 函数的区别  http://blog.csdn.net/yijiu0711/article/details/17349169 ...

  9. emmet 太 hackble 了 。。。

    http://www.open-open.com/lib/view/open1451954899292.html

  10. iOS UIViewController 和 nib 相关的3个方法

    iOS UIViewController 的 awakeFromNib 以及 - (id)initWithCoder:(NSCoder *)aDecoder 和 - (instancetype)ini ...