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”开头的方法可枚举(即时加载)源集合并 ...
随机推荐
- ASCII编码、Unicode编码、UTF-8
一.区别 ASCII.Unicode 是“字符集” UTF-8 .UTF-16.UTF-32 是“编码规则” 其中: 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code ...
- java 一些容易忽视的小点-类和对象
构造器 通过new关键字调用 构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值. 构造器是有权限的,也就是可以添加public,也可以添加 ...
- 学习Linux系统的方法有很多,适合自己的才是最好
综观现在互联网+的发展以及应用,作为一个从事IT行业的人员,应该懂得Linux占比多大份量,所以说,去掌握Linux是一种相当重要的谋生途径,当然,如果你对它产生情感那更好.这篇文章主要是本人结合自身 ...
- Cracking The Coding Interview2.3
#include <iostream> #include <string> using namespace std; class linklist { private: cla ...
- TLS反调试
0x01 TLS反调试简介 TLS(Thread Local Storage)原本的目的是解决多线程程序中变量同步的问题.线程本身有独立于其他线程的栈空间,因此线程中的局部变量不用考虑同步问题.多线程 ...
- idea没有错误出现红色波浪线怎么去掉?
在有波浪线的代码上Alt+Enter,弹出的菜单中第一项的子菜单选择disable inspection
- java 设计模式参考资料
参考博客 http://www.cnblogs.com/lin3615/p/3783272.html 设计模式之责任链模式http://www.cnblogs.com/draem0507/p/3784 ...
- 从SharePoint 2013迁移到SharePoint Online - 评估工具
博客地址:http://blog.csdn.net/FoxDave 今天想跟大家分享一款从SharePoint 2013迁移到SharePoint Online时的评估工具:SharePoint ...
- 『翻译』Android USB Host
USB Host When your Android-powered device is in USB host mode, it acts as the USB host, powers the b ...
- shell日常实战防dos攻击
根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频率每隔3分钟.防火墙命令为:iptables -I INPUT -s 10.0 ...