c#获取两个数组或集合的交集或差集。
不要使用循环,效率肯定低。C#有现成的高性能的获取数组或集合的交集或差集方法:Intersect和Except。
使用Intersect和Except获取两个数组的交集或者差集时性能很高,我测试两个都包含1000个成员的集合求差集执行时间为0,效率相当高。
使用方法如下:
List<string> list1 = new List<string>();
List<string> list2 = new List<string>();
var intersectList = list1.Intersect(list2);
var exceptList = list1.Except(list2);
List<Person> pList1 = new List<Person>();
List<Person> pList2 = new List<Person>();
var pIntersectList = pList1.Intersect<Person>(pList2);
var pExceptList = pList1.Except<Person>(pList2);
1

站心网
c#获取两个数组或集合的交集或差集。 不要使用循环,效率肯定低。C#有现成的高性能的获取数组或集合的交集..
为您推荐
JS 中彻底删除 JSON 对象组成的数组中的元素
前端开发
2025年03月15日
在 JS 中,对于某个由 JSON 对象组成的数组,例如:var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }];如果我们想要删除其中的第二个json对象,应该怎么做呢?其实方法和操作数..
C#中数组作为参数传递的问题
编程语言
2025年03月15日
原则:尽可能控制对数据的修改,如果可以预测某个数据不会或不应该被改变,就要对其控制,而不要期望使用这个数据的调用者不会改变其值。如果参数在使用过程中被意外修改,将会带来不可预知的结果,而且这种错误很难..
C#中的线程安全的集合ConcurrentQueue使用示例
程序笔记
2024年12月31日
在多线程编程中,如何安全地在不同线程之间共享数据是一个非常重要的问题。C# 为我们提供了一些专门设计的线程安全集合,其中之一就是 ConcurrentQueue<T>。它是一种先进先出(FIFO)的数据结构,专门为多线程环境设..
mysql随机获取一条或者多条数据
程序笔记
2024年12月28日
语句一:select * from users order by rand() LIMIT 1MYSQL手册里面针对RAND()的提示大概意思就是,在 ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描,导致效率相当相当的低,效率不行,切..
javascript 6种连接数组的方法和对比
程序笔记
2024年12月15日
在 JavaScript 中,有多种方法可以用来连接数组,以下是常见的几种:1. concat() 方法用于连接两个或多个数组,返回一个新的数组,不修改原数组。const arr1 = [1, 2, 3];const arr2 = [4, 5, 6];const result = arr..
js 数组方法 - 修改篇
程序笔记
2024年12月11日
js数组方法可分为三类:修改、访问、迭代。修改:改变原有数组访问:不改变原有数组,从原有数组中获取数据迭代:对数组的每一项进行处理,返回数据本文主要介绍数组的修改篇一、增加1、push()含义:在数组末尾添加..
IIS站点里的application能获取主站点的session吗?
程序笔记
2024年11月26日
在 IIS 中,主站点和其下的 Application 通常被视为独立的应用程序实例。默认情况下,主站点和子应用程序无法共享 Session 数据,因为它们各自运行在独立的应用程序池中,使用独立的会话状态管理。无法共享Session的..
Blazor获取Url路由参数的方法
程序笔记
2024年10月13日
这里整理了两种获取参数值的方法: 通过NavigationManager服务获取参数值和配置路由参数获取参数值。在Blazor Server和WebAssembly中,可以通过注入 NavigationManager服务获取Uri转化为Uri对象得到Query. 然后使用H..
.NET attribute 验证两个字段相同
程序笔记
2024年10月11日
在 .NET MVC 中,你可以通过自定义验证特性来验证两个字段是否相同。下面是一些步骤来实现这个功能:创建一个自定义的验证特性类,如下所示:using System.ComponentModel.DataAnnotations;public class CompareFiel..
.NET Core获取请求者真实IP
程序笔记
2024年10月11日
在.NET Core中,可以通过访问HttpContext中的RemoteIpAddress属性来获取请求者的IP地址。代码示例如下:public IActionResult MyAction(){var remoteIpAddress = HttpContext.Connection.RemoteIpAddress;return Vie..
c#获取枚举的Description
程序笔记
2024年10月10日
要获取 C# 中枚举的描述(Description),可以使用反射和自定义属性来实现。首先,需要在枚举值上定义自定义属性(Custom Attribute),用于存储描述信息。例如:public enum MyEnum{[Description("This is the firs..
.NET Core MVC 获取UrlReferer
程序笔记
2024年10月10日
在ASP.NET MVC中可以使用Request.UrlReferer获取Url访问来源,但是在.NET Core MVC中Request没有UrlReferer属性,可以使用Request.Headers["Referer"]获取UrlReferer值,也可以使用GetTypedHeaders()方法获取UrlRefe..
c#获取文件夹所有文件列表
程序笔记
2024年10月10日
可以使用C#的Directory和File类来获取一个文件夹中所有的文件列表。下面是一个示例代码,可以获取指定文件夹中所有的文件列表:using System;using System.IO;class Program {static void Main(string[] args) {stri..
c#获取枚举的描述Description和摘要Summary
程序笔记
2024年10月08日
在C#中,获取枚举的描述(Description)和摘要(Summary)通常需要使用自定义的特性来实现。下面是一个示例,演示如何为枚举添加Description和Summary,并在代码中获取它们:首先,你需要创建两个自定义的特性类,一..
.NET C#获取客户端真实IP
程序笔记
2024年10月08日
在 .NET 中获取客户端真实IP地址(而不是代理服务器的IP地址)可以通过 HttpContext.Current.Request.UserHostAddress 属性来实现。然而,在某些情况下,代理服务器可能会更改请求头信息,导致 UserHostAddress 返回..
.NET Core获取Request.UrlReferer
程序笔记
2024年09月30日
在 ASP.NET Core 中,获取请求的引用(Referrer)URL可以使用 HttpContext.Request.Headers 来访问,引用(Referrer)URL存储在请求的头部信息中,头部名称为 "Referer"。以下是如何在 ASP.NET Core 中获取请求的引..

C#微信公众平台access_token的获取存储与更新
程序笔记
2024年09月24日
一、什么是access_token? access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。由于获取access_to..
获取ip信息的api有哪些?
程序笔记
2024年09月21日
获取 IP 信息的 API 很多,以下是一些常用的 IP 信息查询 API:IPInfo.io: https://ipinfo.io/IP-API.com: https://ip-api.com/GeoIPify: https://geoipify.whoisxmlapi.com/IPStack: https://ipstack.com/IPLoc..
C#正则表达式获取图片src
程序笔记
2024年09月12日
要使用 C# 正则表达式获取 HTML 中图片标签的 src 属性,你可以尝试以下方法:假设你有一个包含 HTML 内容的字符串 htmlContent,你可以使用正则表达式来提取其中的图片 src 属性值。using System;using System.Text..
React获取url参数的几种方法
程序笔记
2024年08月31日
在React中获取URL参数的方法有以下几种:使用window.location.searchconst searchParams = new URLSearchParams(window.location.search);const id = searchParams.get('id');使用react-router-dom如果使用了react-r..