随笔分类 - C#
C#编程
摘要:在c#中,使用下面代码将图片读取到内存,发现内存暴涨。 public static System.Windows.Media.Imaging.BitmapImage ByteArrayToBitmapImage(this byte[] array) { using (var ms = new Sys
阅读全文
摘要:写在最前:这篇文章针对.net framework项目奏效;.net stand 和 .net core 项目可能不需要参考这些。 问题描述 一个项目引用不同版本的同一dll,会引发以下报错: 未能加载文件或程序集“xxx, Version=x.x.x.x, Culture=neutral, Pub
阅读全文
摘要:方法:程序中打开新的进程,删掉程序后,再销毁进程本身 步骤: 1、生成删除的BAT 2、运行BAT 3、快速退出 4、BAT开始删除EXE 5、BAT删除BAT 实现: /// <summary> /// 删除程序自身(本文地址:http://www.cnblogs.com/Interkey/p/D
阅读全文
摘要:现在有一个项目A,需要通过nuget包引入一些dll,如何处理引入的dll分两种情况: 前提,nuget包所在的packages目录 文件夹无论如何都要上传。 1、项目A生成目录输出在bin/Debug(Release)及应用程序根目录下 此时,Nuget包引入的dll,复制到本地,保持默认的Tru
阅读全文
摘要:问题背景:某天在客户电脑上遇到崩溃问题,崩溃日志如下: System.Runtime.InteropServices.COMException (0x80040154): 检索 COM 类工厂中 CLSID 为 {D9F6EE60-58C9-458B-88E1-2F908FD7F87C} 的组件失败
阅读全文
摘要:转载自 C#_路径字符串中提取所在目录、文件名、文件扩展名、根目录 str = "获取文件所在的目录:" + Path.GetDirectoryName(filePath); str = "获取文件的名称含有后缀:" + Path.GetFileName(filePath); str = "获取文件
阅读全文
摘要:转载自:visual studio 2022 安装net旧版本(net framework4.0和4.5) 问题: Visual Studio 2022安装程序中单个组件中没有 .net framework4.0或者.net framework4.5的问题,NET SDK下载 Download .N
阅读全文
摘要:新建dotnet core webapi项目 为方便后面访问项目,修改appsettings.json文件,增加配置 "urls":"http://*:5000" 在云服务器上修改防火墙 允许外部访问上面你指定的端口(如:5000) sudo ufw allow 5000/tcp sudo ufw
阅读全文
摘要:在每一个二进制文件(包括图片,视频或其他的非ASCII文件)的开头(十六进制表示),有一片区域来标识文件类型。 某天我打开了一个网页 按下F12 切换到"网络"在这个页签下,然后按下了F5刷新了网页-->89 50 4E 47 0D 0A 在下面表格中找到对应的类型,不就是PNG么~~~ 扩展名 文
阅读全文
摘要:在编程工作中,树结构的处理比较常见。 假如有一个webapi接口给我们返回的数据是下面形式--不带层级结构的: public class Info { public int id { get; set; } public int? pid { get; set; } public string la
阅读全文
摘要:.net framework 的Uri类提供了TryCreate方法,所以可以写出下面扩展方法: public static class StringExtensions { public static bool IsUrlIsValid(this string uriName) { Uri uri
阅读全文
摘要:传统事件侦听模式潜在内存泄漏问题 普通事件使用 source.event+=listener.delegate,这时event所在的委托会持有listener的强引用;如果listener不再监听event时,需要使用source.event-=listener.delegate来解除引用关系。 若
阅读全文
摘要:在上一篇C# 如何优雅地取消正在运行的任务 虽然取消了未结束的异步任务,但是被调用的同步方法仍未结束;代码不够优雅,所以在查看了B站博主的这个C#如何在异步任务中调用及取消一个长时间运行的同步方法(其一)视频后,发现他的做法比较优雅; 注意:这个👆视频介绍的方法适用于.NET Framework平
阅读全文
摘要:第三方API中有一个查询订单信息的同步方法,GetOrderInfo(string orderNo);这个方法耗时比较久可能在1s到5s之间;我先调用了一次GetOrderInfo方法,然后立刻又调用第二次GetOrderInfo,我希望在第二次调用GetOrderInfo方法时结束掉上一次还未执行
阅读全文
摘要:DelegateHandler是一个抽象装饰器,被装饰的"HttpClentHandler",是网络请求的实际发送者;通过为HttpClentHandler添加装饰,能对"发送请求"动作,进行一些额外操作; 参考: Better timeout handling with HttpClient Ti
阅读全文
摘要:参考:C# 多线程锁之ReaderWriterLockSlim 读了园子里上面👆这个博主写的读写所实现线程安全的字典,感觉这是读写锁的应用的一个挺好的例子,所以将代码片段贴过来,记录一下自己的理解: public class SynchronizedCache { private ReaderWr
阅读全文
摘要:了解过double在计算机中的存储方式的,应该知道double类型,要判断"相等"是很困难的,比如我们写出下面一行代码 if(a==b){//do something...} 此时编译器会提示这个判断不严谨,他推荐: Math.Abs(a-b)<一个很小的数 于是乎,我在搜索引擎中搜索了一下,发现类
阅读全文
摘要:我写了一段代码,结果[编辑器]给我提示这个警告! Captured variable is disposed in the outer scope namespace LambdaCaptureDemo { internal class Program { static void Main(stri
阅读全文
摘要:读写锁:我这条线程获取写锁时,别的线程不允许获取读锁和写锁;我这条线程获取读锁时,别的线程可以获取读锁,但不允许获取写锁。 换句简短的话:读写锁具有 独占式写,非独占式读的效果。这种比较适合读与写频率相差很大的场景。如:在一个采集软件中,写频率较高读频率较低,这就比较适合用读写锁;如:文件的操作,你
阅读全文
摘要:参考: C# Pdf转图片通过(PdfiumViewer或O2S.Components.PDFRender4NET)实现 C# PDF转图片(JPG,Png) 实现: using PdfiumViewer; using System.Collections.Generic; using System
阅读全文

浙公网安备 33010602011771号