• 2024-05-10C#中Linq的去重方式Distinct详解
    一、首先创建一个控制台应用程序,添加一个Person对象usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceCompare{publicclassPerson{publicstringName{get;set;}
  • 2023-09-10集线器 SignalR.Core 消息推送实例
    SignalR.Core消息推送实例publicclassChatHub:Hub{privatestring_className="ChatHub";//privateSystem.Threading.Timertimer=null;privateSystem.Threading.Timer_timer=null;privatestaticreadonlyobject_lock=newobj
  • 2023-08-23List<Dictionary<string, string>> 去重方法
    List<Dictionary<string, string>>可以使用LINQ的Distinct()方法来去重。不过需要提供一个自定义的Comparer。实现接口IEqualityComparerpublicclassDictionaryComparer:IEqualityComparer<Dictionary<string,string>>{publicboolEquals(Dictionary<string,st
  • 2023-07-10.NET Core应用程序每次启动后使用string.GetHashCode()方法获取到的哈希值(hash)不相同
    前言如标题所述,在ASP.NETCore应用程序中,使用string.GetHashCode()方法去获取字符串的哈希值,但每次重启这个ASP.NETCore应用程序之后,同样的字符串的哈希值(hash)但不相同了。这是什么意思呢?具体的应用场景是这样的:项目中有一张表的某个字段保存了类似URL这样的字符串,这张表
  • 2023-06-30基准测试BenchmarkDotNet
    今天飞书群里同事争论枚举.GetHashCode()会装箱,要改为(int)枚举,争吵不下纸上谈兵无法说服另外的人,上BenchmarkDotNet基准测试添加BenchmarkDotNet库<PackageReferenceInclude="BenchmarkDotNet"Version="0.13.5"/>性能测试用例classProgram{ staticvoidMain(strin
  • 2023-06-05C#读写锁ReaderWriterLockSlim的使用
    读写锁的概念很简单,允许多个线程同时获取读锁,但同一时间只允许一个线程获得写锁,因此也称作共享-独占锁。在C#中,推荐使用ReaderWriterLockSlim类来完成读写锁的功能。某些场合下,对一个对象的读取次数远远大于修改次数,如果只是简单的用lock方式加锁,则会影响读取的效率。而如果采用读
  • 2023-06-01创建字典进行字段匹配
     --查询varpostNumFiled=Static_Dic.RoleType_PostNum.FirstOrDefault(o=>o.Key==roleType).Value; --封装匹配的字典publicstaticDictionary<int,string>RoleType_PostNum{get{Dictionary<int,string&g
  • 2023-05-26c#读写锁浅记录
    publicclassC{staticprivateReaderWriterLockSlimrwl=newReaderWriterLockSlim();publicstaticvoidMain(){Threadt_read1=newThread(newThreadStart(WriteSomething));t_read1.Start();Console.WriteLine("{0}C
  • 2023-03-06【转载】将C#里的枚举Enum转换为int
    版权声明:本文为博主原创文章,遵循CC4.0by-sa版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/lzdidiv/article/details/71170528将枚举类型转
  • 2022-12-23重学c#系列—— 反射的基本理解[三十三]
    前言在上一章中介绍了什么是反射:https://www.cnblogs.com/aoximin/p/16440966.html正文上一节讲述反射的基本原理和为什么要用反射,还用反射的优缺点这些。其二者的
  • 2022-12-14深拷贝与浅拷贝
     在C#中的ICloneable中给出的Clone方法只是一个模棱两可的方法,并不足以实现深拷贝和浅拷贝。 深拷贝: using(StreamobjectStream=newMemoryStream()){IForma
  • 2022-12-14Linq和集合
    数组在定义的时候就确定长度,且不可变。ArrayList是链表结构,可以动态的增减内存空间。List是ArrayList的泛型实现,除去了拆箱装箱的操作。 int[]iArr={0,1,2,3,
  • 2022-09-27c#重写string的gethashcode
    1publicstaticintGetStringHashCode(stringvalue)2{3inth=0;//默认值是04if(value.Length>0)5