刷新
【C#】【Equals和ReferenceEquals】关于对象和值的问题

博主头像 在学习C#中的记录类型时,对出现的Equals和ReferenceEquals得到的不同结果表示不理解,随即进行相关资料查找。 值类型 == : 比较两者的“内容”是否相同,即“值”是否一样Equals:比较两者的“内容”是否相同,即“值”是否一样ReferenceEquals:返回false,因为 ...

基于百度AI实现文字和图像敏感内容审核

博主头像 前言 百度AI是指百度公司的人工智能技术全称。它采用深度学习技术,包括自然语言处理、语音识别、计算机视觉、知识图谱等,可应用于各个领域如互联网、医疗、金融、教育、汽车、物流等。百度AI的发展将帮助人类更好地理解世界和提高生活品质,接下来就通过一个小案例演示实现百度AI在文字和图像敏感审核应用。 项目 ...

记一次 .NET 某电力系统 内存暴涨分析

博主头像 一:背景 1. 讲故事 前些天有位朋友找到我,说他生产上的程序有内存暴涨情况,让我帮忙看下怎么回事,最简单粗暴的方法就是让朋友在内存暴涨的时候抓一个dump下来,看一看大概就知道咋回事了。 二:Windbg 分析 1. 到底是谁吃了内存 这个问题说的再多也不为过,一定要看清楚这个程序是如何个性化发展 ...

基于 ActionFilters 的限流库DotNetRateLimiter使用

博主头像 前言 在构建API项目时,有时出于安全考虑,防止访问用户恶意攻击,希望限制此用户ip地址的请求次数,减轻拒绝服务攻击可能性,也称作限流。接下来,我们就来学习开源库DotNetRateLimiter 如何轻松实现限流。 项目使用配置 安装Nuget包 在新建立的WebAPI项目中,通过Nuget包管理 ...

C#反射实现插件式开发

博主头像 前言 插件式架构,一种全新的、开放性的、高扩展性的架构体系。插件式架构设计好处很多,把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现。扩展功能与框架以一种很松的方式耦合,两者在保持接口不变的情况下,可以独立变化和发布。基于插件设计并不神秘,相反它比起一团泥的设计更简单,更容易理解。 ...

如何正确实现一个自定义Exception(二)

博主头像 上一篇《如何正确实现一个自定义 Exception》发布后获得不少 star。有同学表示很担忧,原来自己这么多年一直写错了。其实大家不用过分纠结,如果写的是 .NET CORE 1.0+ 的程序,那么大概率是没有问题的。 有大佬已经在评论区指出这些信息是过时的了。确实在.NET CORE 发布之后, ...

【23种设计模式】装饰模式(九)

博主头像 前言 装饰模式,英文名称:Decorator Pattern。我第一次看到这个名称想到的是另外一个词语“装修”,我就说说我对“装修”的理解吧,大家一定要看清楚,是“装修”,不是“装饰”。在房子装修的过程中,各种功能可以相互组合,来增加房子的功用。类似的,如果我们在软件系统中,要给某个类型或者对象增加 ...

C# try catch 使用

博主头像 try catch使用场景: 1. 一般在线程,委托中使用, 在线程与委托中使用是因为,如果线程和委托中出现异常在程序外部是捕获不到的,需要在内部做单独处理。 2. 程序的外层使用,比如程序的入口处加一个全局异常捕获,这样整个程序发生的异常都可以捕获到。 3. 在事件或者主体方法中使用,一些小的公共 ...

【23种设计模式】组合模式(八)

博主头像 前言 组合模式,英文名称是:Composite Pattern。当我们谈到这个模式的时候,有一个物件和这个模式很像,也符合这个模式要表达的意思,那就是“俄罗斯套娃”。“俄罗斯套娃”就是大的瓷器娃娃里面装着一个小的瓷器娃娃,小的瓷器娃娃里面再装着更小的瓷器娃娃,直到最后一个不能再装更小的瓷器娃娃的那个 ...

浅谈“文件与文件流”的区别

博主头像 文件与文件流的区别(自己的话): 在软件开发过程中,我们常常把文件的“读写操作”,与“创造、移动、复制、删除操作”区分开来。其中,文件的“读写操作”是由System.IO命名空间下fileStream类控制的。而文件的“创造、移动、复制、删除操作”是由file类控制的。 当然了,还有很多和这两个类功 ...

大企业才用的分布式唯一Id,它比GUID好

博主头像 支持.Net Core(2.0及以上)与.Net Framework(4.5及以上) 可以部署在Docker, Windows, Linux, Mac。 分布式唯一Id,顾名思义,是指在全世界任何一台计算机上都不会重复的唯一Id。 在单机/单服务器/单数据库的小型应用中,不需要用到这类东西。但在高并 ...

c#使用tp

博主头像 一说tp大多数人想到的是PHP使用tp,但今天不说PHP 说说c#使用tp 由于tp比较久远 网上的资料又是少之又少 接下来说说tp的一些基本用法 1.首先就是数据绑定了 <%tp:foreach collection="{$model.Items}" var="m"%> <td>{$m.name} ...

【23种设计模式】桥接模式(七)

博主头像 ## 前言 【**桥接模式**】是【**结构型**】设计模式的第二个模式,也有叫【桥模式】的,英文名称:**Bridge Pattern**。 大家第一次看到这个名称会想到什么呢?我第一次看到这个模式根据名称猜肯定是连接什么东西的。因为桥在我们现实生活中经常是连接着A地和B地,再往后来发展,桥引申为 ...

<1···151617···28>