linq 学习日记-select

引用地址: http://www.cnblogs.com/young18/archive/2007/06/05/772393.html
using #region using
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Collections;
#endregion


public  partial  class  _Default : System.Web.UI.Page 
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
格式化化查询结果#region 格式化化查询结果
        Response.Write(
"<hr>格式化化查询结果:<br>");
        
string[] stringArray = "Ajax""Csharp""Javascript""Css Desige""Asp.net""Gis" };
        var books 
= from n in stringArray 
                    where n.Length 
>= 6 
                    select 
"I'm studying " + n;

        
foreach (var book in books){
            Response.Write(
string.Format("<div class='result'>{0}</div>", book));
        }

        
#endregion


        
只查询合适对象集合的某个属性#region 只查询合适对象集合的某个属性

        Response.Write(
"<hr>只查询合适对象集合的某个属性:<br>");
        List
<Student> StudentList = GetStudents();
        var students1 
= from n in StudentList
                        where n.Language 
== "Chinese"
                        select n.Name;

        
foreach (var student in students1)
        
{
            Response.Write(
string.Format("<span class='result'>{0}</span>", student));
        }

        
#endregion


        
从一个集合中查询,转化到另外一个集合#region 从一个集合中查询,转化到另外一个集合
        Response.Write(
"<hr>从一个集合中查询,转化到另外一个集合:<br>");
        
int[] intArray = 3164 };
        var students2 
= from n in intArray
                        select StudentList[n];

        
foreach (var student in students2)
        
{
            Response.Write(
string.Format("<span class='result'>{0}</span>", student.Name));
        }

        
#endregion


        
构建匿名类型#region 构建匿名类型
        Response.Write(
"<hr>构建匿名类型:<br>");
        var stu 
= from n in intArray
                  select 
new { Id = n, Name = StudentList[n].Name };

        
foreach (var s in stu)
        
{
            Response.Write(
string.Format("<div class='result'>id:{0}; name:{1}</div>", s.Id,s.Name));
        }

        
#endregion


        
构建匿名类型2——扩展已有类#region 构建匿名类型2——扩展已有类
        Response.Write(
"<hr>构建匿名类型2——扩展已有类:<br>");
        var students3 
= from n in intArray
                        select 
new { Id = n, StudentList[n].Name, StudentList[n].Age };

        
foreach (var student in students3)
        
{
            Response.Write(
string.Format("<div class='result'>id:{0}; name:{1}; age:{2}</div>", student.Id, student.Name, student.Age));
        }

        
#endregion


        
select的Lambda表达式#region select的Lambda表达式
        Response.Write(
"<hr>select的Lambda表达式:<br>");
        var students4 
= intArray.Select(i => new { Id = i, StudentList[i].Name });
  
        
foreach (var student in students4)
        
{
            Response.Write(
string.Format("<div class='result'>id:{0}; name:{1}</div>", student.Id, student.Name));
        }

        
#endregion


        
复合选择#region 复合选择
        Response.Write(
"<hr>复合选择:<br>");
        var study4 
= from a in StudentList where a.Age>23
                     from b 
in stringArray where b.Length>8
                     select 
new {name=a.Name,book=b};
        
foreach (var student in study4)
        
{
            Response.Write(
string.Format("<div class='result'>{0} is studying {1}</div>", student.name, student.book));
        }

        
#endregion


        
多重选择#region 多重选择
        Response.Write(
"<hr>多重选择:<br>");
        var study 
=
            from a 
in StudentList 
            where a.Age 
> 20
            from b 
in stringArray 
            where b.Length 
> 5
            select 
new {a.Name,book=b};

        
foreach (var s in study)
        
{
            Response.Write(
string.Format("<div class='result'>name:{0}; book:{1}</div>", s.Name, s.book));
        }

        
#endregion


        
多重选择的Lambda表达式#region 多重选择的Lambda表达式
        Response.Write(
"<hr>多重选择的Lambda表达式:<br>");
        var study1 
= StudentList.SelectMany(student => stringArray.Select(str => student.Name + " has a book names " + str));

        
foreach (var s in study1)
        
{
            Response.Write(
string.Format("<div class='result'>{0}</div>", s));
        }

        
#endregion

    }


    
构造一个学生集合体#region 构造一个学生集合体
    
private List<Student> GetStudents()
    
{
        List
<Student> students = new List<Student> 
             
new Student{ Name="YOUNG", Age=25, Language="Chinese"},
             
new Student{ Name="JESSIE", Age=21, Language="Scotland"},
             
new Student{ Name="KELLY", Age=18, Language="English"},
             
new Student{ Name="JUNE", Age=20, Language="English"},
             
new Student{ Name="ADRIAN", Age=22, Language="Italy"},
             
new Student{ Name="BRUCE", Age=17, Language="Scotland"},
             
new Student{ Name="BRANT", Age=30, Language="Germany"},
             
new Student{ Name="BEN", Age=25, Language="Chinese"}
        }
;
        
return students;
    }

    
#endregion

}


学生类 #region 学生类
class Student
{
    
public int Age getset; }
    
public string Name getset; }
    
public string Language getset; }
}

#endregion


结果显示:
 

转载于:https://www.cnblogs.com/czh-liyu/archive/2008/01/25/1053163.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值