LINQ-123之数据源前进一点点

之前提到满足一定条件的数据都可以成为LINQ的数据源,那么条件是什么?

实现接口 IEnumerable<T> 或IQueryable<T>,满足其一就可以使用LINQ。

使用LINQ对数据源可以做以下几类事:

1、获取数据源的一部分

2、获取数据源的一部分并转换为新数据源

3、获取数据源(或者由1,2得到的新数据源)的某些属性

 IEnumerable<T> 和IQueryable<T>相关内容比较丰富足够写一个总结了。这里只聊聊实际应用。

一些示例展示了基本的用法

 var students = new List<Student>(){
            new Student{
                Age=20,
                Name="李明",
                Gender=Gender.Male
            },
            new Student{
                Age=21,
                Name="赵雷",
                Gender=Gender.Male
            },
            new Student{
                Age=20,
                Name="韩小梅",
                Gender=Gender.Female
            },
            new Student{
                Age=19,
                Name="王蕾",
                Gender=Gender.Female
            },

        };
        //1、获取部分数据源
        var student = students.Where(stu => stu.Gender == Gender.Male);
        //方法形式
        var student2 = from stu in students
                       where stu.Gender == Gender.Male
                       select stu;
        //2、转换数据源
        var schoolStudent= from stu in students
                       where stu.Gender == Gender.Male
                       select new{
                        Shool="科学实验小学",
                        Name=stu.Name,
                        Age=stu.Age,
                        Gender=stu.Gender
                       };
       //3、获取数据源相关的信息
       var studentCount=(from stu in students
                       where stu.Gender == Gender.Male
                       select stu).Count();

       var studentCount2 =student2.Count();

注意:在转换用法中,查询变量的定义类型。因为select后面是一个匿名变量,所以这里使用了var。

在第3种使用用途中,第1种写法的在查询语句外有个括号。2种写法,选择自己顺手的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值