9个热门.Net开源项目汇总!

news2024/11/25 20:49:18

今天盘点下9月份推荐的9个开源项目(点击标题查看详情)。

1、Pidgin:一个轻量级、快速且灵活的 C# 解析库

Pidgin是基于C#的开源项目,是一个解析组合器库,提供了一个高级别的声明性工具来构建解析器,使得编写解析器变得简单而直观。

1、轻量化与高效

Pidgin专注于提供轻量级的解决方案,旨在减少内存占用和提高解析速度。通过精心设计的数据结构和算法,Pidgin 能够在不牺牲功能的前提下实现高效的解析。

2、灵活性

Pidgin 支持解析各种复杂的数据格式,不仅限于文本数据。由于其能够处理任意类型的输入令牌(tokens),Pidgin 可以用于解析二进制协议、标记化输入等多种场景。

3、易于使用

与正则表达式相比,Pidgin 提供了更强大的解析能力,而与 ANTLR 等解析生成器相比,它又更简单易用。

Pidgin 的 API 设计直观,允许开发者以声明性的方式定义语法规则,而无需编写复杂的代码。

Star:896⭐

项目地址:https://github.com/benjamin-hodgson/Pidgin

2、Sep:一个低内存、高性能的CSV文件读写操作.Net开源库

Sep 是一个高性能的 .NET CSV 解析器,具备快速、现代、简洁且高效的数据处理能力。

**先进特性:**采用 .NET 7+ 和 C# 11+ 的先进特性,例如 Span、泛型数学接口(ISpanParsable/ISpanFormattable)、ref struct、ArrayPool 等,打造了一个现代且高效的实现方式。

**简洁API:**提供了一个简洁而富有表现力的 API,选项精简,对输入输出的处理透明无隐藏。你看到什么就得到什么。例如,它默认不会自动处理引号的转义/取消转义。

**极速性能:**通过架构特定和跨平台的 SIMD 矢量化解析技术,支持 64/128/256/512 位路径(如 AVX2、AVX-512(.NET 8.0+)、NEON),实现极速处理。利用 csFastFloat 快速解析浮点数。高效地逐行读取或写入数据,并有详尽的基准测试验证其性能。

**多线程加速:**通过高效的并行 CSV 解析技术,实现超快速度,比 CsvHelper 快达 35 倍。

**低内存占用:**智能高效的内存管理策略,在预热后实现零内存分配,包括轻松读取或写入值数组(如特征数据)而无需重复分配内存。

**全面测试保障:**拥有广泛的代码覆盖率,专注于边缘情况的测试,包括随机模糊测试,确保数据处理的准确性和稳定性。

**跨平台兼容:**支持 .NET 支持的所有平台和架构,100% 托管,采用现代 C# 编写,代码优美。

**可修剪且兼容 AOT/NativeAOT:**无反射或动态代码生成,确保完全可修剪且与提前编译(Ahead-of-Time)兼容。简单的控制台测试程序,可执行文件体积小,仅几 MB。

**实用主义:**遵循 RFC-4180 的核心原则,但在引用和行结束处理上采取实用主义方法。

Star:838⭐

**项目地址:**https://github.com/nietras/Sep

3、Atata:一个基于 Selenium的C#自动化测试Web框架

Atata Framework 是一个基于 Selenium WebDriver 的 C#/.NET Web UI 测试自动化全功能框架。

它使用流畅的页面对象模式;具有内置的日志记录系统;包含独特的触发器功能;具有一组即用型组件。

该框架的关键思想之一是为定义和使用页面对象提供简单直观的语法,页面对象实现需要尽可能少的代码。

而且描述一个页面对象类,无需任何方法,只需一组用属性标记的属性,这些属性就代表页面组件。

Star:490⭐

**项目地址:**https://github.com/atata-framework/atata

4、ChoETL:支持多数据库读写.Net开源库,包含 CSV、XML、JSON等8个格式

ChoETL 是一个开源的 .NET ETL(Extract, Transform, Load)框架。

它提供了解析和写入多种文件格式的能力,包括但不限于 CSV、FixedLength、XML、JSON、Key-Value、Parquet、YAML 和 Avro格式的文件、数据库。

Star:796⭐

**项目地址:**https://github.com/Cinchoo/ChoETL

5、HtmlSanitizer: 一个保护你的网站免受XSS攻击的.Net开源项目

HtmlSanitizer 是一个强大的库,它能够审查和清理 HTML 内容,移除或转义那些可能被用于 XSS 攻击的标签和属性。

这个工具的核心功能是提供一个安全的方式来处理用户提交的 HTML,确保这些内容在被渲染到网页上之前是无害的。

Star:1.6K⭐

**项目地址:**https://github.com/mganss/HtmlSanitizer

6、CSCore:一个.Net功能强大且灵活的开源音频处理库

CSCore是一个使用C#编写的音频库,它提供了丰富的功能,从播放和录制音频,到解码和编码音频流/文件,再到实时处理音频数据(如播放时应用自定义效果、创建可视化等)。

CSCore 基于一个非常可扩展的架构,这使得你可以毫不费力地使其满足你的需求。

支持的平台:仅限 Windows,Linux 和 Mac 为实验性支持。

Star:2.2K⭐

**项目地址:**https://github.com/filoe/cscore

7、Boxed:包含多个.Net项目模板,涵盖了ASP.NET Core API、GraphQL等。

.Net Boxed该项目为.NET开发者提供了一套包含基本代码的项目模板,涵盖了ASP.NET Core API、ASP.NET Core GraphQL、Microsoft Orleans以及NuGet Package的项目。

Star:3.4K⭐

**项目地址:**https://github.com/Dotnet-Boxed/Templates

图片

8、Html2OpenXml:HTML转化为OpenXml的.Net库,轻松实现Html转为Word

Html2OpenXml 是一个开源.Net库,旨在将简单或复杂的HTML内容转换为OpenXml组件。

该项目始于2009年,最初是为了将用户评论转换为Word文档而设计的

随着时间的推移,Html2OpenXml 不断发展和完善,现在已经成为处理HTML到OpenXml转换的强大工具。

Star:313⭐

**项目地址:**https://github.com/onizet/html2openxml

9、tesseract:一个.Net版本的开源OCR项目

tesseract是针对Tesseract-OCR(C++)引擎封装的.NET版本,支持超过100种语言的文本识别,使得.NET开发者能够轻松地利用Tesseract的强大功能,无需深入了解OCR的底层技术。

此项目缺点是,只能识别印刷的文本,针对手写的需要自己训练语言包。

Star:2.3K

**项目地址:**https://github.com/charlesw/tesseract

- End -

更多开源项目: https://github.com/bianchenglequ/NetCodeTop

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

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

相关文章

雅达利“美洲虎“游戏机在iPhone模拟应用程序中重生

"美洲虎"是雅达利在 1993 年推出一年后,索尼的 PlayStation 和世嘉的土星接手之前,在日益拥挤的家用游戏机市场上保持竞争力的最后一次尝试。 虽然从未在商业上取得成功,但它仍然拥有一批忠实的粉丝,他们欣赏美洲虎独特…

SpringBoot框架下的美发店管理系统开发指南

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理美发门店管理系统的相关信息成为必然。开发…

未来已来:AIGC时代为办公方式带来智能化转型与革新

文章目录 一、Excel:从数据处理到智能分析二、Word:从文档编辑到智能写作三、PowerPoint:从幻灯片制作到智能演示四、AI智能办公的挑战与未来《AI智能办公实战108招:ChatGPTWordPowerPointWPS》编辑推荐内容简介作者简介内页插图目…

双十一好物必买榜:数码好物推荐!

​双十一该入手一些好物来准备度过下一年,选择几款数码好物和工作都用得到的实用好物陪伴冬天是能够让自己更积极的迎接生活,能够让自己更开心满足的方式。适当的购物也是能够缓解工作压力,心情不好的方法,但依然要选择买回家不会…

Python办公自动化之TXT

在日常办公中,我们常常需要处理大量的 TXT 文件,比如记录日志、存储数据或是阅读文件内容。Python 作为一款高效的编程语言,可以轻松完成这些任务,为我们的办公流程提供极大的便利。那么,如何利用 Python 办公自动化来…

PDFPatcher:一个无所不能的开源PDF处理工具

如果你工作中,经常需要处理PDF文件,那这款工具绝对可以满足你的所有需求,PDFPatcher一款功能强大的开源PDF处理工具。 01 项目简介 这是一款基于.NET Framework 4.0 到 4.8 版本开发的开源工具,主要采用 iText 和 MuPDF 这两个开…

快速了解2024与AI相关的诺贝尔奖大佬重要知识!

北京时间10月8日下午5点45分许,2024年诺贝尔物理学奖揭晓。美国普林斯顿大学科学家约翰霍普菲尔德(John J. Hopfield)和加拿大多伦多大学科学家杰弗里辛顿(Geoffrey E. Hinton)获奖,以表彰他们“基于人工神…

嵌入式面试——FreeRTOS篇(四) 信号量

本篇为:FreeRTOS信号量篇 信号量 1、什么是信号量 答:信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问。 2、信号量简介 答: 当计数值大于0,表示有信号量资源。当释放信号量,信号量计数…

探索利用人工智能追踪逃犯的新技术

介绍 论文地址:https://arxiv.org/abs/2404.12626 近年来,"追逃游戏 "引起了人们的广泛关注。"追逃游戏 "模拟了多组追捕者与单个逃犯之间的追捕游戏。这种博弈发生在城市道路网等图上,有效地找到这种博弈的策略具有多种…

10月9-10日,优阅达邀您参与 2024 新加坡科技周,一站式体验亚洲前沿技术!

一场不容错过的亚洲商业技术盛会将于新加坡滨海湾金沙会展中心盛大开幕。 当全球化的浪潮席卷每一个角落,中国科技企业正站在新的起点,迎接出海的挑战与机遇。 一场不容错过的亚洲商业技术盛会 TECH WEEK SINGAPORE(点击报名新加坡科技周&am…

HyperWorks基于几何投影的网格变形

在Altair(HyperWorks)里,使用本节将演示如何通过 line difference 功能,将已有网格以几何图形为目标进行投影,以生成全新的网格模型。 图 7-5 网格变形模型的状态 Step01:读取模型。 (1) 打开文件 Exerci…

C++入门基础知识106—【关于C++continue 语句】

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C continue 语句的相关内容!…

打不死的超强生命力

水熊虫是你可能听说过的小生物,它们能够在极端环境中生存,堪称地球上的“超强幸存者”。数十年来,科学家们试图通过各种极端实验杀死它们,但无论是把它们以900米/秒的速度发射,还是将它们暴露在宇宙辐射下,…

【含开题报告+文档+PPT+源码】基于springBoot+vue超市仓库管理系统的设计与实现

开题报告 随着电子商务的快速发展和物流行业的日益壮大,超市仓库管理系统的重要性也日益凸显。传统的超市仓库管理方式存在许多问题,比如人工操作繁琐、数据统计不准确、管理效率低下等。因此,需要设计和实现一个高效、智能的超市仓库管理系…

c语言中有关指针的题型整理,以及一些详解

(1)应注意其二维数组的书写形式,以及逗号表达式的 (2)要注意数组名表示首元素地址,解引用之后表示元素,&a表示整个数组,1表示指向后面的,ptr-1又指向数组末尾&#x…

鸿蒙架构-系统架构师(七十八)

1信息加密是保证系统机密性的常用手段。使用哈希校验是保证数据完整性的常用方法。可用性保证合法用户对资源的正常访问,不会被不正当的拒绝。()就是破坏系统的可用性。 A 跨站脚本攻击XSS B 拒绝服务攻击DoS C 跨站请求伪造攻击CSRF D 缓…

绘制YOLOv11模型在训练过程中,精准率,召回率,mAP_0.5,mAP_0.5:0.95,以及各种损失的变化曲线

一、本文介绍 本文用于绘制模型在训练过程中,精准率,召回率,mAP_0.5,mAP_0.5:0.95,以及各种损失的变化曲线。用以比较不同算法的收敛速度,最终精度等,并且能够在论文中直观的展示改进效果。支持…

React(一) 认识React、熟悉类组件、JSX书写规范、嵌入变量表达式、绑定属性

文章目录 一、初始React1. React的基本认识2. Hello案例2.1 三个依赖2.2 渲染页面2.3 hello案例完整代码 二、类组件1. 封装类组件2. 组件里的数据3. 组件里的函数 (重点)4. 案例练习(1) 展示电影列表 三、JSX语法1. 认识JSX2. JSX书写规范及注释3. JSX嵌入变量作为子元素4. JS…

QT 10.8

Xmind: QT的核心机制 QT对话框

Python Django ORM 的工作原理

在 Web 开发中,处理数据库是非常常见的需求,尤其是在构建动态应用程序时。Django 作为一个流行的 Python Web 框架,提供了一套强大的工具帮助开发者轻松管理数据库。Django 的 ORM(对象关系映射,Object-Relational Map…