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 ...
随机推荐
- [LeetCode] Design Hit Counter 设计点击计数器
Design a hit counter which counts the number of hits received in the past 5 minutes. Each function a ...
- C++ 数组array与vector的比较
转:http://blog.csdn.net/yukin_xue/article/details/7391897 1. array 定义的时候必须定义数组的元素个数;而vector 不需要: 且只能包 ...
- C#-WebForm-Repeater-重复器
Repeater-重复器 - 类似WinForm中的ListView,用列表来展示数据 格式: <body> <form id="form1" runat=&qu ...
- 修改.net mvc中前端验证信息的显示方式
最近一直在学习.net core的用法.想法是通过写一个新闻系统来熟悉一下这个最新的技术.其实,我以前一直对.net技术都是浅尝辄止,最主要原因是没有动力.平时写企业站因为时间原因,不是使用php的框 ...
- JavaScript备忘录
提取字符串substring(start,end)substr(start [, length ])JavaScript substr() 方法 --
- Android stdio Apktool源码编译
Android Apktool源码编译 标签(空格分隔): Android Apktool 源码编译 需求 习惯NetBeans调试smali需要用Apktool反编译apk,需要用-d的参数才能生成 ...
- 数据结构作业——Sanji(优先队列)
山治的婚约 Description 我们知道,山治原来是地下有名的杀人家族文斯莫克家族的三子,目前山治的弟弟已经出现,叫做四治,大哥二哥就叫汪(One)治跟突(Two)治好了(跟本剧情无关) .山治知 ...
- dos命令
一 .常用命令 1 dir无参数:查看当前所在目录的文件和文件夹./s:查看当前目录已经其所有子目录的文件和文件夹./a:查看包括隐含文件的所有文件./ah:只显示出隐含文件./w:以紧凑方式(一行显 ...
- Python:eval的妙用和滥用
时间 2014-07-08 13:05:24 CSDN博客 原文 http://blog.csdn.net/zhanh1218/article/details/37562167 主题 Python ...
- [转] Windows下编译OpenSSL
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...