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”开头的方法可枚举(即时加载)源集合并 ...
随机推荐
- day06_python_1124
01 昨日内容回顾 字典: 增: setdefault() 有责不变,无责添加 dic['key'] = vaulue 删: pop 按照key pop('key') pop('key',None) ...
- MATLAB 批量处理图片
function resizephotos(directory, wh, isrecursive, isoverwrite, savetopath, supportFormat) % resizeph ...
- MySQL存储过程错误No data - zero rows fetched, selected, or processed
原因:游标没有获取到任何内容! 解决方案 : 声明一个 continue handler declare continue handler for not found set V_NotFound = ...
- android 获取Asset中Properties文件配置的键值对
1 获取 AssetManager AssetManager assetManager = context.getApplicationContext().getAssets(); 2 获取流 Str ...
- day 55 前端
前端JQuery 语法 1 关于表格基数偶数背景颜色变换的 2 关于has后代 和not非 3 jQuery 和dom的转换 dom 转换成jQuery 用$(包起来) 不加引号 4 关于 n ...
- 初识linux------用户和用户组
事先说明 本Linux的版本为Ubuntu. 为避免一些初学者由于权限问题特此事先说明,在非root权限下时,所有的代码加sudo:如下 (1)不在root权限 sudo useradd -m 用户名 ...
- outlook vba开发要点
1.学学基础的VB语法 https://www.yiibai.com/vba/vba_programming_charts.html 2.找一个样例看看 VBA编程实现自动回复邮件 https://b ...
- L2-002. 链表去重(数组模拟)
L2-002. 链表去重 因为数值比较小,所以直接用数组来模拟 #include<cstdio> #include<cstring> #include<iostream& ...
- [转]Introduction to Learning to Trade with Reinforcement Learning
Introduction to Learning to Trade with Reinforcement Learning http://www.wildml.com/2018/02/introduc ...
- ndoe.js 和npm私有仓库的搭建
下载nodejs的压缩包 网址:https://nodejs.org/en/ 下载以tar.xz结尾的包例如:node-v8.9.4-linux-x64.tar.xz 上传包到制定的目录 可以用lrz ...