C#第六次作业(LINQ)

LINQ,语言集成查询(Language Integrated Query)是一组用于C#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

LINQ可以对多种数据源和对象进行查询,如数据库、数据集、XML文档甚至是数组,这在传统的查询语句中是很难实现的。如果有一个集合类型的值需要进行查询,则必须使用Where等方法进行遍历,而使用LINQ可以仿真SQL语句的形式进行查询,极大的降低了难度。

数组中的数据可以被LINQ查询语句查询,这样就省去了复杂的数组遍历。数组数据源示例代码如下所示。

string[] str = { "学习", "学习LINQ", "好好学习", "生活很美好" };

int[] inter = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

数组可以看成是一个集合,虽然数组没有集合的一些特性,但是从另一个角度上来说可以看成是一个集合。在传统的开发过程中,如果要筛选其中包含“学习”字段的某个字符串,则需要遍历整个数组。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text; namespace _21_1

{

class Program


        static void Main(string[] args) 
        { 
            string[] str = { "学习", "学习LINQ", "好好学习", "生活很美好" }; //定义数组

     int[] inter = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

     for (int i = 0; i < inter.Length; i++) 
            { 
                if (inter[i] > 5)

      {
                    Console.WriteLine(inter[i].ToString());  
                }

    } 
            Console.ReadKey();

    }

}

}

就像这样的程序,无疑会使得查询过程变得繁琐而无趣

这时候我们可以改变查询方式

用LINQ来进行查询,使用这样的语句

var st = from s in str where s.Contains("学习")  select s;

这中间的“学习”即是我们查询的东西。

也就是这样修改

class Program

{

static void Main(string[] args)

{

string[] str = { "学习", "学习LINQ", "好好学习", "生活很美好" };

int[] inter = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

var st = from s in inter where s > 5  select s;

foreach (var t in st)

{

Console.WriteLine(t.ToString());

}

Console.ReadKey();

}

}

输出不变

条件可以任意改变

var st = from s in inter where (s*s)%2==0 select s;

例如改成这个则输出变为

使用LINQ进行查询之后会返回一个IEnumerable的集合,这时候就需要实现IEnumerable<T>接口。并且LINQ的查询表达式是在最近一次创建对象时才被编译的。

from 临时变量 in 实现IEnumerable<T>接口的对象

where条件表达式

[orderby 条件]

[group by 条件]

select 临时变量中被查询的值

LINQ同样对数据集支持查询和筛选操作。其实数据集也是集合的表现形式,数据集除了能够填充数据库中的内容以外,还能够通过对数据集的操作向数据集中添加数据和修改数据。数据集能够模拟基本的数据库,包括表、关系等。

暂时只调整到这里。时间不足。据说还能够进行嵌套查询。。不明所以。

时间: 2024-08-06 18:45:33

C#第六次作业(LINQ)的相关文章

第六次作业。陈彬彬

shadowL 软件测试第六次作业------bookstore项目缺陷测试 一.                 Bookstore项目测试缺陷报告 ———————————————————————————————— 缺陷编号:06.13.0016        发现人:陈彬彬     记录日期:2016.6.13 所属模块:用户注册              确认人:陈彬彬    确认日期:2016.6.13 当前状态:公开                    严重度:1         优

第六周作业。

第六周作业.额,暂时不知道写什么好.那就写写如何翻越GFW   (科学上网)的教程吧.基于Shadow socks的教程.可能不是第一个,也可能不是最后一个.但是这也算是科普吧.毕竟连翻越GWF(科学上网)能力都没有何必谈的上是一个好的Programer呢?. ========================================================== 顺便说一句:Fk GFW. ==============================================

耿丹16-1第六次作业

-- Deadline: 2016-10-20 23:00 pm -- 作业内容:https://edu.cnblogs.com/campus/bjgygd/Sixteen-One/homework/127 -- 第六次作业总结: 1. 部分同学不清楚代码风格的意义何在,可以自己网上查询下,要养成良好的利用网络资料的习惯. 2. 有同学提出疑问为什么要上传代码到coding.net网站,这个也请google下 O(∩_∩)O. 3. 本次作业所有提交到coding.net上涉嫌抄袭的同学,都没有

第六章作业

第六章作业  6.31 6.31 解答: A. 高速缓存大小C=E*B*S=4*4*8=128 字节 B.

软件过程与项目管理第六次作业

软件过程与项目管理六次作业 小组项目方面,我们的总体已经出来了,下周小组长让我们学着用脚本语言写写测试用例. 这周我主要在准备文档,我们组目前才完成了两个文档,一个是需求分析文档,一个是立项说明文档,还有一个概要设计文档还在建立和补充当中.我发现在开发一个项目的过程中,文档的书写也是一个很让人头疼的问题.我们的项目不大,所需要的文档也不多,但我觉得这些文档已经很让人头疼了.首先我们的文档是几个人分部分写然后再一起总结的,我就发现不同的人写文档的风格就不一样,比如说,分点标序号,有些人就喜欢用数字

3.26日第六次作业,第10章质量,11章人力

3.26日 第六次作业,第10章质量,11章人力 1.质量管理基本原则   以实用为核心的多元要求.系统工程.职工参与管理.管理层和第一把手重视.保护消费者权益.面向国际市场. 2.质量管理的目标顾客满意度.预防胜于检查.各阶段内的过程.   质量管理既重视结果也重视过程   实施组织主动采纳的质量改进措施(如全面质量管理.持续改进等) 3.质量管理的主要活动有哪些项目的质量管理可以分解为质量策划.质量保证与质量控制三个过程.质量策划是指确定与项目相关的质量标准,并决定如何达到这些质量标准.质量

第六课作业——主从复制和sentinel高可用

第六课时作业 静哥 by 2016.3.21~2016.4.3   [作业描述] 1.配置主从复制,截图看日志 2.配置一个哨兵,一主一从结构,并实现主宕机从接管的过程,截图显示 3.总结哨兵的原理 一.配置主从复制 1.系统环境 2.启动redis-1 redi-2服务,如下: 3.设置主从复制: 方法-1:在从库redis-2的配置文件redis.conf里指定slaveof参数: 方法-2:redis-cli命令进入redis客户端后,slaveof指定: 以上2种方式,均可以指定redi

Python编程:从入门到实践——【作业】——第六章作业

第六章作业 6-1 人 : 使用一个字典来存储一个熟人的信息, 包括名. 姓. 年龄和居住的城市. 该字典应包含键first_name . last_name . age 和city . 将存储在该字典中的每项信息都打印出来. 6-2 喜欢的数字 : 使用一个字典来存储一些人喜欢的数字. 请想出5个人的名字, 并将这些名字用作字典中的键: 想出每个人喜欢的一个数字, 并将这些数字作为值存 储在字典中. 打印每个人的名字和喜欢的数字. 为让这个程序更有趣, 通过询问朋友确保数据是真实的.6-3 词

张楚的第六次作业

1.作业A-1 #include<stdio.h> void OddSum() { int n,i,a,sum=0; printf("请问想要输入几个整数?"); scanf("%d",&n); for(i=1;i<=n;i++) { printf("请输入第%d个整数:",i); scanf("%d",&a); if(a%2!=0) sum=sum+a; } if(sum==0) print