Linq 之 Select 和 where 的用法

最近开始学习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
};  
时间: 2024-08-01 03:56:19

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

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

在mysql中 FOUND_ROWS()与COUNT(*)都可以统计记录,如果都一样为什么会有两个这样的函数呢,下面我来介绍SELECT FOUND_ROWS()与COUNT(*)用法区别 SELECT语句中经常可能用LIMIT限制返回行数.有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句.那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:  代码如下 复制代码 mysql> SELECT SQL_CA

php学习之道:mysql SELECT FOUND_ROWS()与COUNT(*)用法区别

在mysql中 FOUND_ROWS()与COUNT(*)都可以统计记录,如果都一样为什么会有两个这样的函数呢,下面我来介绍SELECT FOUND_ROWS()与COUNT(*)用法区别 SELECT语句中经常可能用LIMIT限制返回行数.有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句.那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:  代码如下 复制代码 mysql> SELECT SQL_CA

ORACLE CASE WHEN 及 SELECT CASE WHEN的用法

Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要

Datatable筛选中Foreach、Linq、Select几种方法效率比较

假设要在Datatable中选出符合要求的一串数据,可以有Foreach循环.Linq语句和Select语句几种方法,构造一个简单数据后做了下效率对比,发现Linq最慢,其次Foreach,最快是Select. 代码如下: static void Main(string[] args) { int dataCount = 100000; DataTable dt = new DataTable(); dt.Columns.Add("MacID", typeof(int)); dt.Co

linq学习(select)

说明:在查询表达式中,select 子句可以指定将在执行查询时产生的值的类型. 该子句的结果将基于前面所有子句的计算结果以及 select 子句本身中的所有表达式. 查询表达式必须以 select 子句或 group 子句结束. Select操作包括7种形式,分别为简单用法.匿名类型形式.条件形式.筛选形式.嵌套类型形式.本地方法调用形式.Distinct形式.. class Student { public string Name { get; set; } public int Score

MySQL之——10个select语句的简单用法

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47610159 本篇文章主要讲述的是MySQL SELECT句法的简单分析,我们大家都知道MySQL数据库是我们大家经常使用的数据库,其相关的应用也是备受关注的,那么以下的文章主要是对MySQL SELECT句法的简单分析. 1.select语句可以用回车分隔 $sql="select * from article where id=1" 和 $sql="sel

CASE WHEN 及 SELECT CASE WHEN的用法(写了一坨烂代码发现两条sql就完成了, 哎)

转自:http://blog.sina.com.cn/s/blog_4c538f6c01012mzt.html Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END     种方式,可以实现相同的功能.

项目中遇到的 linq datatable select

1如何使用DataTable.Select选出来的Rows生成新的DataTable?DataTable dt = 数据源;DataTable dtt = new DataTable();dtt=dt.Clone();//拷贝框架DataRow[] dr = dt.select("条件");for(int i=0;i<dr.length;i++){dtt.ImportRow((DataRow)dr[i]);}this.DataGrid.DataSource=dtt;this.Da

CASE WHEN 及 SELECT CASE WHEN的用法

sql中的CASE WHEN then 也可以理解为程序中的三元表达式,可以实现相同的功能,不过CASE WHEN then功能更强大 示例一 简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 示例二 根据这个国家人口数据,统计亚洲和北美洲的人口数量 如果使