C# LinQ的基本子句、协变与异变
//1.from 子句:
int[] arr = { , , , , , , , , , };
var query = from n in arr
where n >
select n;
foreach (var i in query)
{
Console.WriteLine("" + i);
} //2.select 子句:
int[] arr = { , , , , , , , , , };
var query = from n in arr
select n * ;
foreach (var i in query)
{
Console.WriteLine("" + i);
} //3.where 子句:
int[] arr = { , , , , , , , , , };
var query = from n in arr
where test(n) >
select n;
foreach (var i in query)
{
Console.WriteLine(i);
} //4.let 子句:
int[] arr = { , , , , , , , , , };
var query = from n in arr
let num = n *
where num >
select n;
foreach (var i in query)
{
Console.WriteLine(i);
} //5.order by 子句:
int[] arr = { , , , , , , , , , };
var query = from n in arr
where n >
orderby n descending
select n;
foreach (var i in query)
{
Console.WriteLine(i);
} //6.group by 子句:
int[] arr = { , , , , , , , , , };
var query = from n in arr
where n >
group n by n % ;
foreach (var i in query)
{
foreach (var j in i)
{
Console.WriteLine(j);
}
} //7.into 子句:
int[] arr = { , , , , , , , , , };
var query = from n in arr
where n >
group n by n % into temp
from sn in temp
select sn;
foreach (var i in query)
{
Console.WriteLine(i);
} //8.join 子句:
int[] arrA = { , , , , , , , , };
int[] arrB = { , , , , };
var query = from n in arrA
join ni in arrB on n equals ni
select ni;
foreach (var i in query)
{
Console.WriteLine(i);
}
/*
* 1.协变与异变:
* 协变:指能够使用与原始指定的派生类型相比,派生程度更大的类型
* string-->object
* 逆变:指能够使用派生程度更新的类型
* object-->string
* */
string[] arr = { "C#", "java", "javascript", "VC", "VB", "VB.net", "C++" };
var query = from n in arr
group n by n.Length into lentGroup
orderby lentGroup.Key //协变与逆变
select lentGroup;
foreach (var i in query)
{
Console.WriteLine("" + i.Key);
foreach (var str in i)
{
Console.WriteLine("" + str);
}
}
C# LinQ的基本子句、协变与异变的更多相关文章
- Linq之select子句
在Linq中select子句用来指定查询结果的类型和表现形式.Linq查询要么以select子句结尾,要么以group子句结尾. List<UserBaseInfo> users = ne ...
- 在net中json序列化与反序列化 面向对象六大原则 (第一篇) 一步一步带你了解linq to Object 10分钟浅谈泛型协变与逆变
在net中json序列化与反序列化 准备好饮料,我们一起来玩玩JSON,什么是Json:一种数据表示形式,JSON:JavaScript Object Notation对象表示法 Json语法规则 ...
- C#4.0泛型的协变,逆变深入剖析
C#4.0中有一个新特性:协变与逆变.可能很多人在开发过程中不常用到,但是深入的了解他们,肯定是有好处的. 协变和逆变体现在泛型的接口和委托上面,也就是对泛型参数的声明,可以声明为协变,或者逆变.什么 ...
- C#协变和逆变
我们知道在C#中,是可以将派生类的实例赋值给基类对象的.
- C# 泛型的协变和逆变
1. 可变性的类型:协变性和逆变性 可变性是以一种类型安全的方式,将一个对象当做另一个对象来使用.如果不能将一个类型替换为另一个类型,那么这个类型就称之为:不变量.协变和逆变是两个相互对立的概念: 如 ...
- 不变(Invariant), 协变(Covarinat), 逆变(Contravariant) : 一个程序猿进化的故事
阿袁工作的第1天: 不变(Invariant), 协变(Covarinat), 逆变(Contravariant)的初次约 阿袁,早!开始工作吧. 阿袁在笔记上写下今天工作清单: 实现一个scala类 ...
- 再谈对协变和逆变的理解(Updated)
去年写过一篇博客谈了下我自己对协变和逆变的理解,现在回头看发现当时还是太过“肤浅”,根本没理解.不久前还写过一篇“黑”Java泛型的博客,猛一回头又是“肤浅”,今天学习Java泛型的时候又看到了协变和 ...
- 【转】c# 协变和逆变
本文转自:http://www.cnblogs.com/rr163/p/4047404.html C#的协变和逆变 由子类向父类方向转变是协变,用out关键字标识,由父类向子类方向转变是逆变,用in关 ...
- .NET 4.0中的泛型的协变和逆变
转自:http://www.cnblogs.com/jingzhongliumei/archive/2012/07/02/2573149.html 先做点准备工作,定义两个类:Animal类和其子类D ...
随机推荐
- [PHP] 获取IP 和JS获取IP和地址
通过js获取 服务器 ip 服务器端口 服务器地址 var address=window.location.href; thisDLoc = document.location; var hostpo ...
- 2020.4面试分享(7面收割5个offer)
都说金三银四是找工作的最佳时节,由于本人的个人职业规划跟目前工作内容不太相符(具体原因就不透露了,领导平时也要来这里逛,哈哈),四月份挑选了10多家公司投递简历(公司规模从几十人到上万人都有),参加了 ...
- [半翻] 设计面向DDD的微服务
这篇文章行文结构对照微软博客, 结合本人意译和多年实践的回顾思考形成此次读书笔记. Domian-driven Design 领域-驱动-设计(DDD)提倡基于(用例相关的现实业务)进行建模. 1. ...
- SQLServer系统表使用简介(sysobjects、syscolumns、syscomments等)转载
sysobjects:记录了数据库中每一个表.视图.约束.存储过程等详细内容的表. 表中常用的字段如下 : 列名 数据类型 描述 name sysname 对象名 id int 对象标识号 xtype ...
- 【转帖】Python 重复造轮子/造轮子找模子,你都应该熟读该文
Chardet,字符编码探测器,可以自动检测文本.网页.xml的编码. colorama,主要用来给文本添加各种颜色,并且非常简单易用. Prettytable,主要用于在终端或浏览器端构建格式化的输 ...
- sql语句-------重复时插入更新
ON DUPLICATE KEY UPDATE重复时插入更新 insert into user(id,username) value('231',"二人") on duplicat ...
- 2019-2020-1 20199328《Linux内核原理与分析》第四周作业
<Linux内核原理与分析>第四周作业 步骤一 首先我们指定一个内核并指定内存根文件系统,这里的bzImage是vmLinux经过gzip压缩的内核,"b"表示&quo ...
- python字符串 提取括号中的内容
返回值是一个列表 re.findall(r'[(](.*?)[)]', str1)
- java 8 stream reduce详解和误区
目录 简介 reduce详解 总结 java 8 stream reduce详解和误区 简介 Stream API提供了一些预定义的reduce操作,比如count(), max(), min(), ...
- jdbc批量插入数据
//插入很多书(批量插入用法) public void insertBooks(List<Book> book) { final List<Book> tempBook=b ...