.NET List集合对比差异,Get,Post请求
1、键值排序
Dictionary<int, List<string>> dic = new Dictionary<int, List<string>>
{
3, new List<string> {"3"},
2, new List<string> {"2"}
};
//判断键值对中是否存在某个键
if (!dic.ContainsKey(1))
dic.Add(1, new List<string> {"1"});
//将键值对按key值降序排序
dicList = dic.OrderByDescending(p => p.Key).ToDictionary(p => p.Key, o => o.Value);
2、List集合对比
合并
List<int> listA = new List<int> { 1, 4, 8, 9, 7, 8, 3 };
List<int> listB = new List<int> { 13, 4, 17, 29, 2 };
List<int> ResultA = listA.Union(listB).ToList(); //剔除重复项
List<int> ResultB = listA.Concat(listB).ToList(); //保留重复项
比较相同
var list1 = new List<string>() { "cxk@wlync.com" };
var list2 = new List<string>() { "cxk@wlync.com" };
var result = list1.All(list2.Contains);
list1 = new List<string>() { "cxk@wlync.com" };
list2 = new List<string>() { "CXK@wlync.com" };
result = list1.All(list2.Contains);
比较差异
var oldMembersSipList = new List<string> { "q", "w", "e" };
var newMemberList = new List<string> { "a", "w", "d", "e" };
//old和new中同时存在
var bothExist = oldMembersSipList.Where(a => newMemberList.Exists(a.Contains)).ToList();
//old中存在,new中不存在
var oldExits = oldMembersSipList.Where(a => !newMemberList.Exists(a.Contains)).ToList();
//new中存在,old中不存在
var newExits = newMemberList.Where(a => !oldMembersSipList.Exists(a.Contains)).ToList();
3、接口请求
需要NuGet
依赖包RestSharp
官方使用文档:https://restsharp.dev
POST
var client = new RestClient(BaseUrl);
var request = new RestRequest("/api/business/batchreadings", Method.POST);
request.AddHeader("token", token);
request.AddHeader("time", beginTime); //起始时间“yyyy-mm-dd hh:mi:ss”如: 2018-11-05 10:00:00
request.AddHeader("endtime", endTime); //结束时间“yyyy-mm-dd hh:mi:ss”如: 2018-11-05 10:00:00
request.RequestFormat = DataFormat.Json;
try
{
var response = client.Execute<object>(request);
if (response.StatusCode == HttpStatusCode.OK)
{
var msgTest = response.Content;
}
}
catch (Exception ex)
{
result.errmsg = ex.Message;
}
GET
var client = new RestClient(BaseUrl);
RestRequest request = new RestRequest("/DataPass/SysAppletWashingPosServiceV1", Method.GET);
request.AddParameter("sign", signature);
request.AddParameter("code", value);
request.AddParameter("sid", "20170427000001");
request.RequestFormat = DataFormat.Json;
try
{
var requestResponse = client.Execute<AuthorizationCenterResponse>(request);
if (requestResponse.StatusCode == HttpStatusCode.OK)
{
msgTest = "请求接口返回数据Content:" + requestResponse.Content;
}
}
catch (Exception ex)
{
result.errmsg = ex.Message;
}
.NET List集合对比差异,Get,Post请求的更多相关文章
- C#开发BIMFACE系列34 服务端API之模型对比5:获取模型构件对比差异
系列目录 [已更新最新开发文章,点击查看详细] BIMFACE平台提供了服务端“获取修改构件属性差异”API,其返回的结果也是一个列表,仅针对修改的构件(不包含新增.删除的构件),是指对于一个 ...
- python_列表、元组、字典、集合对比
列表.元组.字典.集合 列表.元组.字典.集合对比 比较项 列表 元组 字典 集合 类型名称 list tuple dict set 定界符 [] () {} {} 是否可变 是 否 是 是 是否有序 ...
- C#开发BIMFACE系列44 服务端API之计算图纸对比差异项来源自哪个图框
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在前两篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>.<C#开发BIMFACE系列43 ...
- java集合对比汇总
List.Set和Map: List是有序的集合,Set是无序的集合.Map是无序的键值对. HashMap详解: HashMap有两个参数影响其性能:初始容量和加载因子.默认初始容量是16,加载因子 ...
- python--列表、字典、元组、集合对比
数据类型# 计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型.# a:整形和浮点型(正数和负数)# b:布尔类型(true,fals ...
- 如何使用Beyond Compare 对比差异文件【制作Patch(补丁包)文件】
场景:研发部的代码从SVN变更至GIt,通过Jenkins每天自动生成程序包. 如需要获取单独的程序包更新,而不是整个程序包覆盖更新,这时候就需要用到Beyond Compare 对比工具 操作步骤1 ...
- 基于3D NAND层差异的固态盘请求调度算法研究立项 报告
Abstract SSD(Solid State Drive),因其超高的读写性能,以及价格的走低趋势逐渐占据市场,为人们带来更好的用户体验,也为企业级的高并行业务需要提供了一定支持,近几年来SSD的 ...
- java Map集合对比分析
1.Map:Map是所有map集合的顶级父接口,用于key/value形式的键值对,其中每一个key都映射到一个值,key不能重复. 2.TreeMap:该map将存储的键值对进行默认排序,并且还能够 ...
- Java集合学习(9):集合对比
一.HashMap与HashTable的区别 HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题.Hash ...
- Java集合对比
1.array和ArrayList 的区别?1.1:ArrayList是Array的复杂版本1.2:数组不能扩容集合可以扩容1.3:存储的数据类型:Array只能存储相同数据类型的数据,而ArrayL ...
随机推荐
- 2022春每日一题:Day 18
题目:[JSOI2007]字符加密 很常见的做法,破环为链,然后以2n为总长再后缀排序,然后对于SA[i] < n 的,说明第i小后缀的编号是小于n的,也就是说,以i开头的编号是合法的,那么输出 ...
- laravel的_token传值 ; header中传_token
laravel框架中只要是涉及到post传值都需要传 _token ,这是框架中为了防止crsf攻击所做的安全措施,那么我们用到ajax中的post 方式传值时,也需要在所传数据中添加一个_token ...
- libc-bin : Depends: libc6 (< 2.20) but 2.27-3ubuntu1 is installed问题解决
为了下载代码,在计算云上按照某个傻瓜文档操作后,ubuntu不仅没达到预定效果,反而无论如何操作,都出现 root@SZX1000450533:/var/lib/dpkg# apt-get autor ...
- Redis 常见问题
Redis 常见问题 落叶他乡树,寒灯独夜人. 一. 什么是Redis? Redis 是一个使用 C 语言写成的,开源的高性能key-value非关系缓存数据库: Redis的数据都基于缓存的,所以很 ...
- C温故补缺(十六):未定义行为
未定义行为 在计算机程序设计中,未定义行为是指执行某种计算机代码 所产生的结果,这种代码在当前程序状态下的行为在其所使用的语言标准中没有规定. 以C语言为例,未定义行为指C语言标准未作规定的行为,同时 ...
- 万字 HashMap 详解,基础(优雅)永不过时
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 前言 大家好,我是小彭. 在上一篇文章里,我们聊到了散列表的整体设计思想,在后续几篇文章里,我们将以 Jav ...
- python中文件操作相关基础知识
python中文件操作相关基础知识 文件的概念 1,文件的概念? 文件就是操作系统暴露给用户操作硬盘的快捷方式 , 当我们双击一个文件进行打开时,其实就是把硬盘中的数据加载到了内存中,然后展示给我们 ...
- python2和python3的区别(1)
1.python2和python3的解释器的默认编码不同 python2解释器的编码默认用的是 ascii python3解释器的编码默认用的 utf-8 2.python2和python3输入的表示 ...
- 同步异步、mutiprocessing创建进程process模块及进程对象的多种方法、消息队列Queue
目录 同步异步 阻塞与非阻塞 综合使用 创建进程的多种方式之multiprocess.process模块 进程间数据隔离 进程的join方法 IPC机制 生产者 消费者模型 进程对象的多种方法 守护进 ...
- 三步快速搭建Typora图床(SM.MS+PicGo)
三步快速搭建Typora图床(基于SM.MS+PicGo) 前言 在有些同学使用Typora的过程中,会发现Typora不像Word一样,在文档脱离本机后依然正常显示图片,自己的tyopora文件在发 ...