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”开头的方法可枚举(即时加载)源集合并 ...
随机推荐
- laravel处理菜单保持的方法:
<!-- 左侧菜单区域 --> <div class="col-md-3"> @section('leftmenu') <div class=&quo ...
- UVa 3602 - DNA Consensus String 水题 难度: 0
题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...
- day20-正则表达式练习
import re from re import findall,search,S secret_code = 'hadkfalifexxIxxfasdjifja134xxlovexx23345sdf ...
- Python Django 之 Template 模板的使用
一.模板样式 注意: 1.url urlpatterns = { path('admin/', admin.site.urls), path('order/', views.order), path( ...
- flask项目结构(一)mariadb
简介: 本文主要是根据自己所学,创建一个flask项目,使用sqlalchemy,alembic,mariadb,bootstrap,APScheduler,selenium,request…………技 ...
- npm login npm publish报错
. 把那个文件删除就好了 查看npm是淘宝的还是原始的 npm config get registry 如果是淘宝的要退回到原始的 npm config set registry=http://reg ...
- 深入理解java虚拟机---垃圾回收(十一)
1.垃圾回收要解决的问题 可以通过配置虚拟机参数来打印出内存日志: -verbose:gc -XX:+PrintGCDetails 垃圾收集(Garbage Collection,GC),要设计一个G ...
- gc图波峰波谷一直上升问题
垃圾回收曲线,波峰和波谷一直上升.正常是波峰波谷在同一水平线上,可以想象如果程序继续运行下去,老年代内存回收后也不断上升,当达到老年代满了的时候,就会报内存溢出错误. 用jmap -histo pid ...
- FPGA复位的可靠性(转)
FPGA复位的可靠性(同步复位和异步复位) reference:http://www.eetop.cn/blog/html/17/743817-24442.html 一.特点: 同步复位:顾名思义, ...
- Windows server 2016 安装 TFS
一:准备: 1.1下载TFS https://visualstudio.microsoft.com/zh-hans/tfs/ 1.2 下载SQL2017 http://msdn.itellyou.cn ...