C#实用的工具类库

Masuit.Tools

Masuit.Tools大都是静态类,加密解密,反射操作,树结构,文件探测,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。

  • 项目开源地址:https://github.com/ldqk/Masuit.Tools

  • 文章详细介绍:https://mp.weixin.qq.com/s/hpCFIUF0HMD5dcw8GRk_Bw

Z.ExtensionMethods

一个C#开源(MIT License)、免费、实用且强大的工具类库,集成超过1000多种扩展方法增强 .NET Framework 和 .NET Core的使用效率。

  • 项目开源地址:https://github.com/zzzprojects/Z.ExtensionMethods

  • 文章详细介绍:https://mp.weixin.qq.com/s/KED89NcE3RumHdnU381wGQ

Common.Utility

主要工具类包括Excel操作类、DataTable转实体、Cookie&Session、NPOI、MongoDBHelper、二维码操作类、分词辅助类、处理枚举类、图片验证码、汉字转拼音、计划任务等。

  • 项目开源地址:https://github.com/laochiangx/Common.Utility

  • 文章详细介绍:https://mp.weixin.qq.com/s/RNsZPTHIZviMKYz1Uc3Ssg

TouchSocket是.Net(包括 C# 、VB.Net、F#)的一个整合性的网络通信框架。

.NETCore.Encrypt 是使用 C# 开发的开源的加解密工具,封装了常见的算法,包含 AES,RSA,MD5,SAH1,SAH256,SHA384,SHA512等。

Fluent Interface 是一种设计模式,用于通过链接方法调用来提供一种简单易读的方式与 API 进行交互。此模式对于以类似于自然语言的方式构造复杂的查询、配置或设置属性特别有用。

Fluent Assertions 是一个 .NET 库,旨在帮助以更具可读性和表现力的方式在单元测试中编写断言。

Fluent NHibernate 是 NHibernate 的 XML 映射文件的替代方法,NHibernate 是 .NET 中流行的 ORM(对象关系映射器)。

Builder Pattern 可以使用流畅的界面实现,以逐步构建复杂的对象,使构建过程更具可读性和灵活性。

Fluent Validation 是一个常用的 .NET 库,用于使用 Fluent 界面为业务对象构建强类型验证规则。

AutoMapper

流畅的接口模式通常用于配置库或框架,使配置代码更具可读性。

 Serilog

日志记录库(如 Serilog)使用流畅的界面来配置日志记录行为。

  1. Fluent Interface — 方法链接的一般模式。

  2. Fluent Assertions — 改进了单元测试的可读性。

  3. Fluent NHibernate — 用于 NHibernate 映射的 Fluent 接口。

  4. Entity Framework Core 中的 Fluent API - 配置 EF Core 模型。

  5. Fluent Builder 模式 — 构造复杂对象。

  6. FluentMigrator — 定义数据库迁移。

  7. Fluent Validation — 构建验证规则。

  8. Fluent API for LINQ 查询 — 查询集合。

  9. Fluent Interface for Configuration — 配置库(例如,AutoMapper)。

  10. Fluent Interface for Logging — 配置日志记录(例如,Serilog)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/43218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

非线性系列(三)—— 非线性求解器算法分类

1. 总体认知 CAE中的非线性方程组求解主要依赖牛顿法(及牛顿法的变体),步骤如下 以线搜索方法为例,流程如下: 2. 方法分类 适用范围大类小类描述牛顿法雅可比矩阵难获取拟牛顿法 Broyden(Secant method)、…

DP(1) | Java | LeetCode 509, 70, 746 做题总结

509. 斐波那契数 https://leetcode.cn/problems/fibonacci-number/ 确定dp数组(dp table)以及下标的含义 dp[i] 第i个斐波那契数值为dp[i] 确定递推公式 题目说了 F(n) F(n - 1) F(n - 2)dp数组如何初始化 题目说了 F(0) 0,F(1) 1确定遍历…

15. Revit API: Transaction(事务)与 Failures(故障处理)

前言 UI讲完,回到DB这块儿。在Document那篇,提到增删改查操作都是在Document上,是对Documet进行操作。 看到“增删改查”这四个,想到什么了没有? 数据库(DB)嘛~话说那本经典的红皮数据库的书叫…

网络安全----防御----防火墙安全策略组网

防火墙组网 要求: 1,DMz区内的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区的设备全天可以访问。 2,生产区不允许访问互联网,办公区和游客区允许访问互联网 3,办公区设备10.0.…

计算机网络之广域网

广域网特点: 主要提供面向通信的服务,支持用户使用计算机进行远距离的信息交换。 覆盖范围广,通信的距离远,需要考虑的因素增多, 线路的冗余、媒体带宽的利用和差错处理问题。 由电信部门或公司负责组建、管理和维护,并向全社会…

友思特方案 | 低延迟GigE Vision解决方案:用于红外设备、医疗和工业级探测面板

导读 维持实时视频系统软硬件的长期成本效益,是该系统在医疗、工业等领域广泛应用的前提。友思特低延迟GigE Vision解决方案创新性地突破了这一难题,提供高带宽且高可靠性的端到端网络链接,有效降低了开发成本、复杂性和时间。 引言 虽然实…

DDoS攻击详解

DDoS 攻击,其本质是通过操控大量的傀儡主机或者被其掌控的网络设备,向目标系统如潮水般地发送海量的请求或数据。这种行为的目的在于竭尽全力地耗尽目标系统的网络带宽、系统资源以及服务能力,从而致使目标系统无法正常地为合法用户提供其所应…

leetcode--从前序与中序遍历序列构造二叉树

leetcode地址:从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,…

vue学习day05-watch侦听器(监视器)、Vue生命周期和生命周期的四个阶段、、工程化开发和脚手架Vue cli

13、watch侦听器(监视器) (1)作用:监视数据变化,执行一些业务逻辑或异步操作 (2)语法: 1)简写语法——简单数据类型,直接监视 ① Watch:{ 数…

[Flink]二、Flink1.13

7. 处理函数 之前所介绍的流处理 API,无论是基本的转换、聚合,还是更为复杂的窗口操作,其实都是基于 DataStream 进行转换的;所以可以统称为 DataStream API ,这也是 Flink 编程的核心。而我们知道,为了让代码有更强大的表现力和易用性, Flink 本身提供了多…

一文入门【NestJs】Controllers 控制器

Nest学习系列 ✈️一文带你入门【NestJS】 ✈️前言 流程图 Controllers 控制器主要负责处理传入请求,并向客户端返回响应,控制器可以通过路由机制来控制接收那些请求,通常一个Controllers种会有多个匹配路由,不同的路由可以知…

Spring源码二十一:Bean实例化流程四

上一篇Spring源码二十:Bean实例化流程三中,我们主要讨论了单例Bean创建对象的主要方法getSingleton的内部方法createBean,createBean方法中的resolveBeanClase方法与prepareMethodOverrides方法处理了lookup-method属性与repliace-method配置…

MT3046 愤怒的象棚

思路: a[]存愤怒值;b[i]存以i结尾的,窗口里的最大值;c[i]存以i结尾的,窗口里面包含✳的最大值。 (✳为新大象的位置) 例:1 2 3 4 ✳ 5 6 7 8 9 则ans的计算公式b3b4c4c5c6b7b8b9…

三代测序结构变异分析 - 单样本Germline SV calling和多样本SV Calling

适用于三代PacBio HiFi / ONT 长reads数据的结构变异分析。 1. sniffles2安装 sniffles2需要Python >= 3.10环境,因此用conda创建安装好3.10的环境。 sniffles2安装要求: Python >= 3.10pysam >= 0.21.0edlib >=1.3.9psutil>=5.9.4# 创建conda环境 conda c…

【记录】LaTex|LaTex 代码片段 Listings 添加带圆圈数字标号的箭头(又名 LaTex Tikz 库画箭头的简要介绍)

文章目录 前言注意事项1 Tikz 的调用方法:newcommand2 标号圆圈数字的添加方式:\large{\textcircled{\small{1}}}\normalsize3 快速掌握 Tikz 箭头写法:插入点相对位移标号node3.1 第一张图:插入点相对位移3.2 第二张图&#xff1…

【MindSpore学习打卡】应用实践-LLM原理和实践-基于MindSpore实现BERT对话情绪识别

在当今的自然语言处理(NLP)领域,情绪识别是一个非常重要的应用场景。无论是在智能客服、社交媒体分析,还是在情感计算领域,准确地识别用户的情绪都能够极大地提升用户体验和系统的智能化水平。BERT(Bidirec…

imx6ull/linux应用编程学习(12)CAN应用编程基础

关于裸机的can通信,会在其他文章发,这里主要讲讲linux上的can通信。 与I2C,SPI等同步通讯方式不同,CAN通讯是异步通讯,也就是没有时钟信号线来保持信号接收同步,也就是所说的半双工,无法同时发送与接收&…

【Java 注解,自定义注解,元注解,注解本质,注解解析】

文章目录 什么是注解?Java内置注解自定义注解元注解注解的本质注解解析 什么是注解? 注解是Java编程语言中的一种元数据,提供了有关程序的额外信息。注解以符号开始,紧跟着注解的名称和一对括号,括号内包含注解的参数…

C++基础篇(1)

目录 前言 1.第一个C程序 2.命名空间 2.1概念理解 2.2namespace 的价值 2.3 namespace的定义 3.命名空间的使用 4.C的输入输出 结束语 前言 本节我们将正式进入C基础的学习,话不多说,直接上货!!! 1.第一个C程…

【Linux进阶】文件系统8——硬链接和符号连接:ln

在Linux下面的链接文件有两种, 一种是类似Windows的快捷方式功能的文件,可以让你快速地链接到目标文件(或目录);另一种则是通过文件系统的inode 链接来产生新文件名,而不是产生新文件,这种称为硬链接&…