LINQ 函数的实战演练测试
//Book.cs using System; namespace LinqTest
{
public class Book
{
public string Name { get; set; }
public string Author { get; set; }
public decimal Price { get; set; }
public DateTime ReleaseDate { get; set; } public Book()
{ } public Book(string name, string anthor, decimal price, DateTime releasedata)
{
Name = name;
Author = anthor;
Price = price;
ReleaseDate = releasedata;
}
}
}
//BookManage.cs using System;
using System.Collections.Generic; namespace LinqTest
{
public static class BookManage
{
private static List<Book> _books; public static IList<Book> GetBook()
{
return _books ?? (_books = new List<Book>()
{
new Book("He", "Joke", , new DateTime()),
new Book("She", "Bob", , new DateTime()),
new Book("I", "Cham", , new DateTime())
});
}
}
}
//Program.cs using System;
using System.Collections.Generic;
using System.Linq; namespace LinqTest
{
internal class Program
{
private static void Main()
{
Console.WriteLine("/**Select Test*/\n");
var test = BookManage.GetBook().Where(c => c.Author.StartsWith("J")).Select(c => new
{
c.Name,
c.Author,
c.Price,
c.ReleaseDate
});
foreach (var i in test)
{
Console.WriteLine(i);
} Console.WriteLine("\n/**SelectMany Test*/");
var list1 = new List<int>() { , , , , , };
var list2 = new List<int>() { , , , }; var query = list1.SelectMany(c => list2);
foreach (var variable in query)
{
Console.Write("{0}", variable);
}
Console.WriteLine("\n"); Console.WriteLine("\n/*GroupBy test**/\n");
var list3 = new List<int>() { , , , , , , , , }; var group = list3.GroupBy(c => c); foreach (var variable in group)
{
Console.WriteLine("{0} Count : {1}", variable.Key, variable.Count());
}
Console.WriteLine("\n/*ToLookUp**/\n");
var list4 = new List<Book>()
{
new Book("A","B",,new DateTime()),
new Book("AA","BB",,new DateTime()),
new Book("AAA","BBB",,new DateTime()),
new Book("A","BBB",,new DateTime())
}; var lookup = list4.ToLookup(c => c.Name); foreach (var v in lookup)
{
Console.WriteLine("=====Group : {0}====", v.Key);
foreach (var g in v)
{
Console.WriteLine("Author: {0} ,Price: {1}, Release: {2}", g.Author, g.Price, g.ReleaseDate);
}
} Console.WriteLine("\nOderBy And Thenby Test!\n");
var orderquery = list4.OrderBy(c => c.Price).ThenBy(c => c.Name).Select(c => new
{
c.Name,
c.Author,
c.Price,
c.ReleaseDate
});
foreach (var item in orderquery)
{
Console.WriteLine(item);
} Console.WriteLine("\n获取集合测试!\n");
var list5 = new List<int>() { , , , , , , , , }; var newList = list5.Where(c => c > ).ToList().Select(c => new
{
c
}); foreach (var r in newList)
{
Console.WriteLine(r);
} Console.WriteLine(" \n聚合和汇总测试\n");
const double myBalance = 100.0;
int[] withdramItem = { , , , , , , };
var banlance = withdramItem.Aggregate(myBalance, (originbalance, nextwithdraw) =>
{
Console.WriteLine("originbalance:{0},nextwithdraw {1}", originbalance, nextwithdraw);
Console.WriteLine("Withdraw status:{0}", (nextwithdraw <= originbalance) ? "OK" : "Failed");
return ((nextwithdraw <= originbalance) ? (originbalance - nextwithdraw) : originbalance);
});
Console.WriteLine("Ending Balance:{0}", banlance); Console.WriteLine("\n***筛选***\n"); var query1 = BookManage.GetBook().Where(c => c.Price > ).Select(c => new
{
c.Name,
c.Author,
c.Price,
c.ReleaseDate
}).Take();
foreach (var r in query1)
{
Console.WriteLine("{0}", r);
}
}
}
}



.png)
.png)
LINQ 函数的实战演练测试的更多相关文章
- LINQ函数
LINQ函数虽然和LINQ语句实现了同样的功能,但LINQ函数使用起来更加快捷.学过数据库的感觉LINQ语句都不难,但语句比较长. 会LINQ函数,才算会LINQ. 1.Where(),结果过滤 Li ...
- C++ 回调函数 实现 的测试代码
最近项目里使用了异步Socket,使用的是完成端口做的e; Accept,receive,send 等完全的异步实现(多线程) 然后 又要多个端口使用, 后来想到包装下完成端口Socket,然后当有事 ...
- substr函数索引创建测试
技术群里小伙伴,沟通说一条经常查询的SQL缓慢,单表SQL一个列作为条件,列是int数值类型,索引类型默认创建. 一.SQL文本substr函数索引创建测试 ,) nm1 ')需求,将上述SQL执行速 ...
- 安卓开发经验分享:资源、UI、函数库、测试、构建一个都不能少(转)
除了高超的武艺,每位黑忍者还需要装备最好的武器.在软件开发的世界里,好的工具能让我们的生活变得更轻松,在更短的时间里写出更棒的代码. 时光回到2008年,那时安卓还很年轻.只有几个相关的博客和谷歌官方 ...
- Underscore.js 函数节流简单测试
函数节流在日常的DOM界面数据交互中有比较大的作用,可以减少服务器的请求,同时减少客户端的内存影响 Underscore.js 本省就包含了函数节流的处理函数 _.throttle 和 _.debo ...
- 字符串join函数跟+号测试
字符串join函数for循环+区别: 原因是这样的,字符串是不可变对象,当用操作符+连接字符串的时候,每执行一次+都会申请一块新的内存,然后复制上一个+操作的结果和本次操作的右操作符到这块内存空间,因 ...
- ABAP函数篇2 测试DATE_CONVERT_TO_FACTORYDATE
DATE_CONVERT_TO_FACTORYDATE 根据日期返回工厂日历日期 函数功能说明: 标出工作日的计算方法 输入传输 CORRECT_OPTION = '+'如果指定的日期不是工作日, ...
- 【转】安卓开发经验分享:资源、UI、函数库、测试、构建一个都不能少
本文由 ImportNew - 唐尤华 翻译自 gigavoice.如需转载本文,请先参见文章末尾处的转载要求. 除了高超的武艺,每位黑忍者还需要装备最好的武器.在软件开发的世界里,好的工具能让我们的 ...
- pytest文档54-Hooks函数terminal打印测试结果(pytest_report_teststatus)
前言 使用命令行执行pytest用例的时候,会在 terminal 终端打印整个用例的测试结果: .代表通过的用例 F代表失败的用例 E代表异常的用例 如果我们不喜欢这种报告结果,可以通过 pytes ...
随机推荐
- docker学习(4) 一些常用操作
继续docker的学习之旅,今天练习一些常用的命令: 一.镜像相关 1.1 列出本机所有镜像 docker images 后面的操作,都以ubuntu做为练习的目标. 另外:如果某些镜像文件不想要了, ...
- 20145213《信息安全系统设计基础》实验一 Linux开发环境的配置
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名: 黄亚奇 祁玮 学号:20145213 20145222 成绩: 指导教师:娄嘉鹏 实验日期:2016 ...
- Jenkins入门系列之——02第二章 Jenkins安装与配置
2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...
- Netty学习笔记之一(Netty解析简单的Http Post Json 请求)
一,HTTP解码器可能会将一个HTTP请求解析成多个消息对象. ch.pipeline().addLast(new HttpServerCodec()); ch.pipeline().addLast( ...
- NCspider项目总结
下午就要答辩了,想把项目经历再总结一下. 项目分三个阶段. 第一阶段,是信息搜集整理阶段 要想法设法从各个门户网站上抓取到新闻和对应的评论数据.首先要分析网站结构. 1. 从哪里找到网站每日发布的所有 ...
- 基本组件的使用——UINavigationController
作用:在多个ViewController中切换.UINavigationController内部以栈的形式维护一组ViewController, 因此,当导航进入一个新视图的时候,会以push的形式将 ...
- redis学习笔记
Redis 命令 Redis 命令用于在 redis 服务上执行操作. 要在 redis 服务上执行命令需要一个 redis 客户端.Redis 客户端在我们之前下载的的 redis 的安装包中. 语 ...
- SpringMVC注解汇总(一)-定义
本文根据开涛哥学习SpringMVC汇总而成,方便更好查阅! 网址:http://jinnianshilongnian.iteye.com/blog/1752171 注解式控制器简介 @Control ...
- 微博轻量级RPC框架Motan
Motan 是微博技术团队研发的基于 Java 的轻量级 RPC 框架,已在微博内部大规模应用多年,每天稳定支撑微博上亿次的内部调用.Motan 基于微博的高并发和高负载场景优化,成为一套简单.易用. ...
- 重复加载同一个jqgrid
重复加载同一个jqgrid时需要先清除原先的数据,再进行加载新的数据: 清除时使用方法:jQuery.jgrid.gridUnload('jqGridId'); 同时还有一个GridDestroy的方 ...