c# 敏捷2 ForEach ToDictionary ToLookup Except比较
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication2
{ class Program
{
public class post
{
public string id { get; set; }
public string name { get; set; }
public int age { get; set; }
public string pd { get; set; }
}
static void Main(string[] args)
{
var product = new List<post>
{
new post { name=""},
new post { name=""},
new post { name=""},
new post { name=""},
};
product.ToList().ForEach(a => a.id = Guid.NewGuid().ToString("N"));//进行遍历赋值 var pp = product.ToDictionary(a => a.name, a => a.id); //转成字典
Console.WriteLine(pp.FirstOrDefault().Key + " " + pp.FirstOrDefault().Value); product.Add(new post { name = "", id = Guid.NewGuid().ToString("N") });
var pd = product.ToLookup(a => a.name, a => a.id);//groupby之后转成字典,取不同项
Console.WriteLine(pp.FirstOrDefault().Key + " " + pp.FirstOrDefault().Value); var pro = new List<post>
{
new post { id = Guid.NewGuid().ToString("N"),name="",age=,pd="sad"},
new post { id = Guid.NewGuid().ToString("N"),name="",age=,pd="sad"},
new post { id = Guid.NewGuid().ToString("N"),name="",age=,pd="sad"},
new post {id = Guid.NewGuid().ToString("N"), name="",age=,pd="sad"},
};
var prd = new List<post>
{
new post { id = Guid.NewGuid().ToString("N"),name="",age=,pd="sad"},
new post { id = Guid.NewGuid().ToString("N"),name="",age=,pd="sad"},
new post {id = Guid.NewGuid().ToString("N"), name="",age=,pd="sad"},
new post {id = Guid.NewGuid().ToString("N"), name="",age=,pd="sad"},
};
var dsz = pro.Select(s => new { id = s.age, name = s.name, pd = s.pd });
var dsx = prd.Select(s => new { id = s.age, name = s.name, pd = s.pd });
var dsc = dsz.Except(dsx).Count();
if (dsc > )
Console.WriteLine("修改过");
else
Console.WriteLine("未修改"); if (pro.Select(s => new { id = s.age, name = s.name, pd = s.pd }).Except(prd.Select(s => new { id = s.age, name = s.name, pd = s.pd })).Count() > )
Console.WriteLine("修改过");
else
Console.WriteLine("未修改");
Console.WriteLine(dsc); Console.Read(); } } }
c# 敏捷2 ForEach ToDictionary ToLookup Except比较的更多相关文章
- 挖一挖C#中那些我们不常用的东西之系列(1)——ToDictionary,ToLookup
这个系列我们看看C#中有哪些我们知道,但是又不知道怎么用,又或者懒得去了解的东西,比如这篇我们要介绍的toDictionary 和ToLookup. 从图中我们看到有四个ToXXX的方法,其中ToAr ...
- ToDictionary,ToLookup
这个系列我们看看C#中有哪些我们知道,但是又不知道怎么用,又或者懒得去了解的东西,比如这篇我们要介绍的toDictionary 和ToLookup. 从图中我们看到有四个ToXXX的方法,其中ToAr ...
- 挖一挖C#中那些我们不经常使用的东西之系列(1)——ToDictionary,ToLookup
这个系列我们看看C#中有哪些我们知道.可是又不知道怎么用.又或者懒得去了解的东西,比方这篇我们要介绍的toDictionary 和ToLookup. 从图中我们看到有四个ToXXX的方法,当中ToAr ...
- Linq常用查询运算符
Linq一共包含五十几个查询运算符,常用的根据类型来区分一共有5类左右,这五类里面一些事在项目查询中经常用到的.不过linq运算符的命名十分规范,基本从字面意思就能猜测出来是干嘛用的,下面我们挑选一些 ...
- C#经典系列-键值对
1.ToDictionary,ToLookup 从图中我们看到有四个ToXXX的方法,其中ToArray和ToList,用的是非常非常多 我们有这样的一个实体 class student { publ ...
- 再次理解 C# LINQ
语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称. 查询表达式(生成表达式) 1.IEnumerable<T> 查询编译为委托.如 source.Where( ...
- C#(少用的)
挖一挖C#中那些我们不常用的东西之系列(1)——ToDictionary,ToLookup 挖一挖C#中那些我们不常用的东西之系列(2)——IsXXX 系列方法 挖一挖C#中那些我们不常用的东西之系列 ...
- 23LINQ运算符返回其它类型实例汇总
IEnumerable<T>返回其它集合类型 ToArray() ToList() ToDictionary() ToLookUp() 返回集合中的元素 □ ElementAt ...
- LINQ标准查询操作符(四) —AsEnumerable,Cast,OfType,ToArray,ToDictionary,ToList,ToLookup,First,Last,ElementAt
十.转换操作符 转换操作符是用来实现将输入对象的类型转变为序列的功能.名称以“As”开头的转换方法可更改源集合的静态类型但不枚举(延迟加载)此源集合.名称以“To”开头的方法可枚举(即时加载)源集合并 ...
随机推荐
- 中国队再创佳绩,IOI2018喜获四金
第30届国际信息学奥林匹克竞赛(IOI2018)于9月1日-8日在日本筑波举行,共有来自87个国家(地区)的335名选手参赛. 中国代表队四名选手经过努力拼搏,获得金牌.其中,杨懋龙(湖南长沙市 ...
- HTML5 ②
html代码中的各种标签和特殊符号: 1.<p>段落标签 默认会在段落前后都有空行</p>: 2.<hr/> 水平线标签 <br/>换行标签 ...
- day06 小数据池,再谈编码
今日所学 一. 小数据池 二. is 和==的区别 三. 编码的问题 一.小数据池的作用 用来缓存数据 可以作用的数据类型: 整数(int), 字符串(str), 布尔值(bool). 什么是块 ...
- 5.7 C++函数调用操作符重载
参考:http://www.weixueyuan.net/view/6385.html 总结: 需要以类成员函数的形式对函数调用操作符“()”进行重载. 只有常成员函数才能处理常对象,故我们依然在类中 ...
- 基于session做的权限控制
一直听说做权限将登陆信息放在session中,实际也说不太出个所以然来,幸运在工作当中接触到了对应的代码的copy. 实现思路: 类似于粗粒度的权限控制 将权限控制的文件按包分隔好,对应的url前缀也 ...
- HDU 2063 (二分图最大匹配)
RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐.但是,每个女孩 ...
- Linux文件系统命令 lsof
命令名:lsof 功能:查看某个端口被占用情况,在配置服务器端口的时候,为了避免冲突,可以通过这个命令查看将要被使用的端口是否被占用. 用法:加-i 参数 eg: renjg@renjg-HP-Com ...
- Mybaties学习
基于现在Mybatis 我没有学习太多,就基于简单的增删改查进行基础学习. 学习资源来自 http://www.cnblogs.com/xdp-gacl/p/4261895.html 1 引入 ...
- 关于orm 的基础3 day67
day67 ORM 特殊的语法 一个简单的语法 --翻译成--> SQL语句 语法: 1. 操作数据库表 创建表.删除表.修改表 2. 操作数据库行 增.删.改.查 怎么连数据库: 需要手动创建 ...
- ios中 pickerView的用法
今天是一个特殊的日子(Mac pro 敲的 爽... 昨天到的) // // QRViewController.m// #import "QRViewController.h" @ ...