最近开始学习linq.自己也总结一下,方便以后查阅。

Select 同 Sql 中的 select 类似,即输出我们要的东东,感觉在 linq 中更加强大。

Linq 可以对集合如数组、泛型等操作,这里我们对泛型类型进行举例。建一个类如下:

public class Customer
{
public Customer(string firstName, string lastName, string city)
{
FirstName = firstName;
LastName = lastName;
City = city;
}
public Customer()
{}
public string FirstName { get; set; }
public string LastName { get; set; }
public string City { get; set; }
}

1、 select 出对象,cust 是一个Customer 对象。

static void Main(string[] args)
{
List<Customer> customers = new List<Customer>()
{
new Customer("Jack", "Chen", "London"),
new Customer("Sunny","Peng", "Shenzhen"),
new Customer("Tom","Cat","London")
};
//使用IEnumerable<T>作为变量
var result =from cust in customers
where cust.City == "London"
select cust;
foreach (var item in result)
{
Console.WriteLine(item.FirstName+":"+item.City);
}
Console.Read();
}

2、 select 出对象的属性字段

var result =from cust in customerswhere cust.City == "London"
select cust.City

多个属性要用new {}如下:

var result =from cust in customers where cust.City == "London"
select new{cust.City,cust.FirstName};

3、  重命名, city 和 name 是随便起的

var result =from cust in customers where cust.City == "London"
select new{ city=cust.City, name ="姓名"+ cust.FirstName+""+cust.LastName };
foreach (var item in result)
{
Console.WriteLine(item.name+":"+item.city);
}

4、 直接实例化对象

var result =from cust in customers where cust.City == "London"
select new Customer{ City = cust.City, FirstName = cust.FirstName };

5、 selec 中嵌套select

var result =from cust in customers  where cust.City == "London"
select new{ city = cust.City,
name=from cust1 in customers where cust1.City == "London" select cust1.LastName
};

Linq 之 Select 和 where 的用法的更多相关文章

  1. Linq中关键字的作用及用法

    Linq中关键字的作用及用法 1.All:确定序列中的所有元素是否都满足条件.如果源序列中的每个元素都通过指定谓词中的测试,或者序列为空,则为 true:否则为 false. Demo: 此示例使用 ...

  2. Linq之select子句

    在Linq中select子句用来指定查询结果的类型和表现形式.Linq查询要么以select子句结尾,要么以group子句结尾. List<UserBaseInfo> users = ne ...

  3. mysql SELECT FOUND_ROWS()与COUNT(*)用法区别

    在mysql中 FOUND_ROWS()与COUNT(*)都可以统计记录,如果都一样为什么会有两个这样的函数呢,下面我来介绍SELECT FOUND_ROWS()与COUNT(*)用法区别   SEL ...

  4. CASE WHEN 及 SELECT CASE WHEN的用法(转)

    Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END   ...

  5. CASE WHEN 及 SELECT CASE WHEN的用法

    CASE WHEN 及 SELECT CASE WHEN的用法 Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN '1' THEN '男' WH ...

  6. ORACLE CASE WHEN 及 SELECT CASE WHEN的用法

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...

  7. Mybatis 系列8-结合源码解析select、resultMap的用法

    [Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...

  8. linq list select用法注意事项

    下面是我自己做的一个例子 List<CR_CustomerOrder> OrdList = new List<CR_CustomerOrder>(); var b = OrdL ...

  9. select into from 和 insert into select 的区别和用法及 SQL SELECT INTO 中Undeclared variable错误解决办法

    今天试了一下数据表中的数据备份到另一个空的数据表,然后使用了SQL SELECT INTO语句,然后提示Undeclared variable......错误,现在在这里做下总结并给出解决办法. 应用 ...

随机推荐

  1. C++ 获取当前正在执行的函数的相关信息

    (我的运行环境:win10x64+vs2015通过, 有的环境KUbuntu 8.04.1 x64 g++ 4.2.3也通过了)主要通过宏来实现:(注意,开头和结尾都是两个下划线) 1. __PRET ...

  2. early_suspend【转】

    android 休眠唤醒机制分析(二) - early_suspend early_suspend是Android休眠流程的第一阶段即浅度休眠,不会受到wake_lock的阻止,一般用于关闭lcd.t ...

  3. 【待补充】[HDFS_3] HDFS 工作机制

    0. 说明 HDFS 初始化文件系统分析 && HDFS 文件写入流程 && HDFS 文件读取流程分析 有价值的相关文章: [漫画解读]HDFS存储原理 1. HDF ...

  4. DataStream_操作基本类型数据的流对象

    import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; imp ...

  5. 简单规划dp sumsets

    Farmer John commanded his cows to search for different sets of numbers that sum to a given number. T ...

  6. 在linux系统下安装配置apacheserver

          我所用的是centos linux系统,但apache的服务在linux系统都大同小异.像ubuntu  redhat等等. now let us go!  如有问题, 欢迎直邮: zhe ...

  7. 函数中声明变量不用Var的情况

    我们都知道函数中声明变量不用Var时这个变量会成为全局变量,但是并不是函数一开始执行就会把它变为全局变量,必须执行到这条语句. 看一段代码 function f(){    alert(a);    ...

  8. Java中关于CyclicBarrier的使用

    CyclicBarrier工具类主要是控制多个线程的一起执行,CyclicBarrier 实例可以多次使用. 演示程序: import java.util.Random; import java.ut ...

  9. 1 C++ 线程

    #include "iostream" //#include "thread" //头文件一般不加入,复制到别的文件,导致命名冲突 //总增加 //using ...

  10. 在centos7上修改docker加速镜像为阿里云

    使用docker pull,命令下载镜像太慢了,默认是从国外的,本文记录下如何配置国内阿里云竞相加速方式. 登录https://cr.console.aliyun.com,如下, 阿里云会为每个用户提 ...