首页
学习
活动
专区
圈层
工具
发布

C# LINQ

LINQ 语法不是立马执行的,不像我们以前的加减乘除等运算啊,它把对它的操作先攒着,只有在用到 这个对象的时候 才会一下全部执行 ? ? 这个例子,输出结果在右边。...他要是前两句执行了的话,shortNames就已经成型了,只含名字长度<=8的名字,有3个 names 添加一个,跟我shortNames 没关系,最终的输出结果应该是3个 但是是4个,这就验证了我们上面说的话,LINQ...不是立马执行,而是等在被使用的时刻再执行,这个例子里,names先加了一个元素,然后在foreach里才执行LINQ语句 这种特性,在大容量数据库时候有用,可能人家一直再往里存数,你不用管,你查询的时候就筛选出来了...,不用存一个查一个,浪费 ---- 上面我们展示了 LINQ的两种语法 Query Syntax    Method syntax ?...很简单是吧,但是现实生活中排序不是这么简单的,比如 总考分相同的考生 按照语数外的分数再排序,这就涉及到多个条件了 多个条件用ThenBy连接,ThenBy多了可以继续ThenBy ?

1.3K40

c# linq简介

LINQ教程一:LINQ简介 一、为什么要使用LINQ 要理解为什么使用LINQ,先来看下面一个例子。假设有一个整数类型的数组,找到里面的偶数并进行降序排序。...// 遍历数组查询出偶数放到集合中 foreach (int i in ints) { // 如果是偶数,把偶数加入到集合中...string.Join(",", list)); Console.ReadKey(); } } } 虽然使用delegate可以使程序的可读性增加了,但是C#...2、编程语言中的数据类型与数据库中的数据类型形成两套不同的体系,例如:   C#中字符串用string数据类型表示。   SQL中字符串用NVarchar/Varchar/Char数据类型表示。...LINQ to SQL   LINQ to DataSet   LINQ to Entities 三、LINQ的优势 1、熟悉的语言:开发人员不必为每种类型的数据源或数据格式学习新的语言。

2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C# 学习笔记(14)—— LINQ

    该组件可以查询 XML 文件,在它被提出之前,C# 中使用 XPath 来对 XML 进行查询,但该工具没有 Linq to XML 更加简洁 Linq to Objects 组件。...这个组件可以查询集合数据,如数组或List等 LINQ 好在哪里 LINQ 的四个组件分别实现了对不同的数据类型进行增、删、改、查等操作,在 LINQ 提出之前,C# 也是有相关技术 完成这些操作的。...之前的技术过于繁琐,在“希望可以做得更好”的“上进心”的驱动下,微软在 C# 3.0 中提出了 LINQ。...queryResults) { Console.WriteLine(item); } } } } 从以上代码来看...通过对比,可以看出 Linq to Objects 在查询集合对象时的优势,所以对于 C# 3.0 之后的代码,建议你都是用 Linq to Objects 来实现对集合对象的查询、修改等操作 使用 Linq

    95210

    在VB.net中,数据去重有什么方法

    hashSet.ToList() Console.WriteLine(String.Join(", ", uniqueList)) ' 输出: Apple, Banana, Orange 方法2:使用Linq...(适用于.NET Framework 3.5及以上版本) ' 假设我们有一个ArrayList,我们可以直接转换并使用Linq的Distinct方法 Dim arraylist As New ArrayList...numberDict.ContainsKey(num) Then numberDict.Add(num, True) End If Next ' 从字典的键获取不重复的数字列表...和C#通用知识点学习笔记 序 列表 1 在VBA或VB.net中Split()与Replace()的用法 2 在VB.net中,List(of string())与List(of List(of string...))有什么区别 3 VB.net中,List有什么方法与属性 4 在VB.net中,Stopwatch有什么属性与方法 5 VB.net的多线程System.Threading 6 VB.NET中,多线程的学习笔记

    1.3K10

    从C#到TypeScript - Promise

    从C#到TypeScript - Promise 背景 相信之前用过JavaScript的朋友都碰到过异步回调地狱(callback hell),N多个回调的嵌套不仅让代码读起来十分困难,维护起来也很不方便...其实C#在Task出现之前也是有类似场景的,Async Programming Mode时代,用Action和Func做回调也很流行,不过也是意识到太多的回调嵌套代码可读性差且维护不易,微软引入了Task...Promise不能在任务进行中取消,只能等结果返回,这点上不如C#的Task,Task可以通过CancelTaskToken来取消任务。...success'); throw new Error('error'); }).catch(function(error) { console.info(error); // 不会执行到这里...console.info('done')); } catch (e){ console.info(e); // 由于最后面的done,所以会把finally里的异常抛出来,如果没有done则不会执行到这里

    2K80

    从C#到TypeScript - Reflect

    从C#到TypeScript - Reflect 在C#里如果想只通过名字来生成类实例、获取属性或执行方法可以使用反射,反射是基于元数据,现在很多流行语言都支持元数据,以此来提供更多便利的功能。...ES6和TypeScript也有Reflect,不过因为JavaScript本身是解释型语言,很多操作如根据名字字符串获取属性,根据字符串执行函数这些原本就有支持,Reflect只是把这些操作归结到一起...Set 定义如下: Reflect.get(target, name, receiver); Reflect.set(target, name, value, receiver); 看上去也很好理解,和C#...Reflect.preventExtensions(target) 让一个对象变为不可扩展 Reflect基本上就是把之前Object的方法和一些命令如delete in之类聚到一起,相信ES6之后用

    1.4K80

    从C#到TypeScript - 类型

    从C#到TypeScript - 类型 TypeScript和C#一样是微软搞出来的,而且都是大牛Anders Hejlsberg领导开发的,它们之间有很多共同点,现在尝试以C#程序员的角度来理解下TypeScript...现在来看下TypeScript基础类型: 数值 C#的数字类型有好几种:int, long, float, double, byte等,而TypeScript和JavaScript一样,所有的数字都是浮点数...,都是用number表示,这样也省了很了事,少了C#里类似long转int overflow问题。...功能上和C#差不多: 目的都是为数值提供一个友好的名字,增加代码可读性和可重构性 默认情况下从0开始编号 也可以手动赋值 可以实现类似C# Flag特性 但也有一些细节不一样: C#的枚举值toString...的泛型List let list: Array = ['a', 'b', 'c']; 数组功能没C#配合linq那么强大,不过配合其他一些库如lodash也可以很方便的进行各种操作。

    2.3K61

    C#学习笔记 LINQ简单使用

    LINQ是C#中的一项非常好用的功能,全程是语言集成查询Language Integrated Query。LING和SQL类似,但是不仅可以查询数据库中的数据,还可以查询文件、XML、对象集合等等。...要使用LINQ特性,需要引用System.Linq命名空间。 使用LINQ时,需要有一个数据源充当被查询的对象,然后需要编写LINQ查询语句,然后就是执行查询。...{ Console.Write(i + " "); } Console.WriteLine(); 需要注意的是,LINQ...默认采用延迟查询的方式,在遇到LINQ查询语句的时候,只是会保存查询方法,真正执行查询的是在后面迭代结果集的时候。...Console.Write(i + " "); } Console.WriteLine(); from字句引入范围变量,这个范围变量可以在LINQ

    2.4K20

    C#规范整理·集合和Linq

    前言#   C#中的集合表现为数组和若干集合类。不管是数组还是集合类,它们都有各自的优缺点。如何使用好集合是我们在开发过程中必须掌握的技巧。...从内存使用的角度来讲,数组在创建时被分配了一段固定长度的内存。...被设置到集合中的迭代器可能会直接导致集合的行为发生异常或变动。...11.使用匿名类型存储LINQ查询结果(最佳搭档)# 从.NET 3.0开始,C#开始支持一个新特性:匿名类型。匿名类型由var、赋值运算符和一个非空初始值(或以new开头的初始化项)组成。...我们知道,LINQ查询从功能上来讲实际上可分为三类:LINQ to OBJECTS、LINQ to SQL、LINQ to XML(本建议不讨论)。

    1.8K30

    【C# 基础精讲】LINQ 基础

    LINQ(Language Integrated Query)是一项强大的C#语言特性,它使数据查询和操作变得更加简洁、灵活和可读性强。...通过使用LINQ,您可以使用类似SQL的语法来查询各种数据源,如集合、数组、数据库等。本文将介绍LINQ的基础概念、常见的LINQ操作和示例,以及如何在C#中利用LINQ进行数据查询和处理。 1....LINQ的基本概念 LINQ是一种在C#中集成的查询语言,它允许开发者使用统一的语法来查询和操作各种数据源,无论是集合还是数据库。...LINQ提供了以下主要组件: 查询表达式(Query Expression):使用类似SQL的语法编写查询,以从数据源中检索所需的数据。...通过LINQ,我们能够以一种更简洁的方式来进行数据操作。 4. 总结 LINQ是C#中的一个强大工具,它提供了一种统一的语法来查询和操作各种数据源。

    1.1K30
    领券