博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LinQ 语法基础
阅读量:5360 次
发布时间:2019-06-15

本文共 3050 字,大约阅读时间需要 10 分钟。

LINQ (Language-Integrated Query,语言集成查询)。

LINQ to Objects、LINQ to SQL、LINQ to DataSet和LINQ to XML,它们分别查询和处理对象数据(如集合)、关系数据(如SQL Server数据库等)、DataSet对象数据和XML结构数据。    主要对数据进行操作

-----------------------------------------------------

LINQ 语法基础——C#3.0

-------------------------------------------

使用var创建隐型局部变量

Int number=2008;    String [] strs=new string [5];                           UserInfo ui=new UserInfo();

 

var number=2008;    var strs=new string[]{“2008”,”08”,”05”,”20”};             var ui=new UserInfo();

 

var关键字指示编译器能够根据变量的初始化表达式推算出该变量的类型,即使用var关键字声明变量时隐藏了该变量的类型。Var关键字可以在以下四种情况下使用。

1.声明局部变量;

2.For语句中;

3.Foreach语句中;

4.Using 语句中;

 

对象初始化器

使得开发人员可以不调用类的构造函数就能够以声明性方式创建一个新的对象,并设置该对象的各个属性的值。

 

UserInfo ui = new UserInfo        {            Username = "张三",            Useraddr = "武汉",            Userage = "23",            Usersex = "男",            Usertel = "027-50459016"       //userInfo里面有的属性可以直接设置        };

 

集合初始化器

合初始化器用来初始化一个集合,它由一系列元素组成,并封闭于“{”和 “}”标记内。

List
numbers = new List
() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; //可以在{}里面初始化一个集合

 

创建匿名类型对象

使用new操作符和匿名对象初始化器能够创建一个新的对象。

//创建匿名类型的对象        var user = new { ID = 1, USERNAME = "张三", USERSEX = "男", USERADDR = "武汉" };

 

创建隐形数组

隐形数组和匿名类型对象比较相似。隐形数组使用var关键字和数组初始化器创建,且数组初始化器中的元素的数据类型必须都能够隐式转换为同一个数据类型(不能为null)的元素

var numbers = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; var strs = new[] { "he", "she", "it" };

 

Lambda表达式  :使用委托的位子就可以使用Lambda表达式

  Lambda表达式是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。Lambda表达式由输入参数、Lambda运算符(=>)和表达式(或语句块)构成。Lambda表达式的基本形式如下:

           (input parameters) => expression

input parameters表示输入参数,expression表示表达式。输入参数位于Lambda运算符的左边,表达式或语句块位于Lambda运算符的右边,Lambda运算符 =>读作 “goes to”

//声明一个委任 ,跟Clss同级    delegate int MyDelegate(int i);    delegate void Md2();    class Program    {        static void Main(string[] args)        {
MyDelegate md = delegate(int x) //普通的委任 { return x * x; }; MyDelegate md = (x) => x * x; //Lambda表达式 int a = md(3); Console.WriteLine(a);         Md2 md2 = () => { Console.WriteLine("Hello!!"); }; //Lambda表达式        md2(); } }
(x , y) =>  {   int  result = x*y;  Response.Write(result.ToString());     }    //多语句时使用语句块{}

 哪里用的上:   例如:    集合里面的Find(),FindAll()的参数就是委托

List
ll = new List
{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 0 }; foreach (var item in ll.FindAll((x) => x % 2 == 0)) { Console.WriteLine(item); }

 Lambda表达式的右边不但可以是一个表达式,而且还可以是语句块

 

查询中的Lambda表达式

Lambda表达式最常见的用法就是查询。下面的实例代码在Select操作中使用,Lambda表达式查询元素,并在网页上输出查询结果。

int[] list = new int[] { 1, 5, 2, 3, 4, 6, 8, 9, 5, 3, 2, 1, 12 };            //select投影 返回到新的变量中    Func就是委托  int为参数,TR为返回的值     Func
=delegate(int a){return 1;} var temp = list.Select((x) => x).Distinct(); //Distinct返回非重复的值 //OrderByDescending 倒序排列
var arry = list.OrderByDescending((x) => x);

foreach (var item in temp)

{
   Console.WriteLine(item);
}

 

转载于:https://www.cnblogs.com/Sea1ee/p/5940434.html

你可能感兴趣的文章
2018年移动用户界面的三种最潮趋势
查看>>
小甲鱼python视频第三讲(课堂笔记)
查看>>
JMeter压力测试及并发量计算-2
查看>>
Eclipse调试Bug的七种常用技巧
查看>>
go 语言如何跨平台编译
查看>>
重构大数据统计
查看>>
Fortran学习笔记2(变量声明)
查看>>
Trie树
查看>>
A/B test
查看>>
Ad Hoc网络概念、特点和比较
查看>>
2018牛客多校第四场 J.Hash Function
查看>>
ZOJ 解题报告索引
查看>>
vim命令
查看>>
运行在 tomcat7.0.88 的应用在Safari浏览器上无法识别回车键、下拉框数据无法加载出来...
查看>>
Java后端进阶教程
查看>>
设计模式(六)抽象工厂模式
查看>>
ListView中动态显示和隐藏Header&Footer
查看>>
2019年Web前端最新导航(常见前端框架、前端大牛)
查看>>
Linux内核分析第十八章读书笔记
查看>>
软工课后作业01 P18第四题
查看>>