您好,欢迎来到顺达资讯网网站!

全国服务热线: 17378238418

新闻中心

成都铝单板厂家招聘(库少一点是什么字 撒贝宁)库少一点儿,

发布时间:2023-06-10 11:17:09 人气:20 来源:铝单板厂家

成都铝单板厂家招聘(库少一点是什么字 撒贝宁)库少一点儿,

推荐 10 个我在项目中必用也最好用的 .NET 库。这些库都得到了广泛的认可,并且在.NET 开发中被广泛使用。能极大的帮助我们提高代码开发效率和质量。

1.Newtonsoft.JsonGitHub - JamesNK/Newtonsoft.Json: Json.NET is a popular high-performance JSON framework for .NET

Newtonsoft.Json 是一个用于.NET 平台的流行的 JSON 序列化和反序列化库它可以帮助你将.NET 对象序列化成 JSON 字符串,也可以将 JSON 字符串反序列化成.NET 对象使用该库,您可以方便地将.NET 应用程序与其他 JSON API 集成。

// 将.NET 对象序列化成 JSON 字符串string json = JsonConvert.SerializeObject(obj); // 将 JSON 字符串反序列化成.NET 对象var

obj = JsonConvert.DeserializeObject(json);2 AutofacGitHub - autofac/Autofac: An addictive .NET IoC container

Autofac 是一个轻量级的 IoC(Inversion of Control)容器,它可以帮助.NET 开发人员管理应用程序中的组件依赖关系使用该库,您可以轻松地实现依赖注入和依赖反转,从而更方便地扩展和测试.NET 应用程序。

// 注册服务和组件var builder = new ContainerBuilder(); builder.RegisterType().As(); builder.RegisterType().

As(); var container = builder.Build(); // 获取实例var service = container.Resolve();

var component = container.Resolve();3 AutoMapperGitHub - AutoMapper/AutoMapper: A convention-based object-object mapper in .NET.

AutoMapper 是一个用于.NET 平台的对象映射工具,它可以帮助.NET 开发人员快速地从一个对象映射到另一个对象使用该库,您可以避免手动编写大量的对象映射代码// 定义映射配置var config = 。

new MapperConfiguration(cfg => { cfg.CreateMap(); }); // 进行对象映射var mapper = config.CreateMapper();

var dto = mapper.Map(obj);4 log4net & NLogGitHub - apache/logging-log4net: Mirror of This is the Apache log4net logging project git repository.

GitHub - NLog/NLog: NLog - Advanced and Structured Logging for Various .NET Platformslog4net 是一个用于.NET 平台的日志记录工具,它可以帮助.NET 开发人员记录应用程序的日志信息。

使用该库,您可以轻松地在应用程序中添加日志记录功能,并帮助您及时发现和解决程序中的问题// 创建日志记录器var logger = LogManager.GetLogger(typeof(MyClass));

// 写入日志信息 logger.Error("An error occurred.");NLog// NLog: Setup NLog for Dependency injectionbuilder.Logging

.ClearProviders(); builder.Host.UseNLog();5 ImageSharpGitHub - SixLabors/ImageSharp: A modern, cross-platform, 2D Graphics library for .NET

ImageSharp 是一个全新的、功能齐全的、完全托管的、跨平台的 2D 图形库ImageSharp 旨在简化图像处理,为您带来了一个功能强大而又非常简单的 APIbyte[] brushData = TestFile.Create(TestImages.Png.Ducky).Bytes; 。

using Image image = provider.GetImage(); using Image brushImage = provider.PixelType == PixelTypes.Rgba32 ? Image.Load(brushData) : Image.Load(brushData); image.Mutate(c => c.DrawImage(brushImage,

0.5f)); image.DebugSave(provider, appendSourceFileOrDescription: false);6 FluentValidationGitHub -

FluentValidation/FluentValidation: A popular .NET validation library for building strongly-typed validation rules.

.NET 的验证库,它使用流畅的界面和 lambda 表达式来构建强类型验证规则using FluentValidation; publicclass CustomerValidator: AbstractValidator { 。

public CustomerValidator() { RuleFor(x => x.Surname).NotEmpty(); RuleFor(x => x.Forename).NotEmpty().WithMessage(

"Please specify a first name"); RuleFor(x => x.Discount).NotEqual(0).When(x => x.HasDiscount); RuleFor(

x => x.Address).Length(20, 250); RuleFor(x => x.Postcode).Must(BeAValidPostcode).WithMessage("Please specify a valid postcode"

); } private bool BeAValidPostcode(string postcode) { // custom postcode validating logic goes here

} } var customer = new Customer(); var validator = new CustomerValidator(); // Execute the validator

ValidationResult results = validator.Validate(customer); // Inspect any validation failures. bool success = results.IsValid; List failures = results.Errors;

7 DapperDapper 是一种简单,快速且具有高效处理来自ADO.NET的ORM 框架Dapper可归类为一个微型对象关系映射器(ORM),可让您在.NET 6应用程序中轻松地进行SQL查询和映射.。

var rows = connection.Query("select 1 A, 2 B union all select 3, 4").AsList(); var count = connection.Execute(

@"insert MyTable(colA, colB) values (@a, @b)", new[] { new { a=1, b=1 }, new { a=2, b=2 }, new { a=

3, b=3 } } );8 FlurlGitHub - tmenier/Flurl: Fluent URL builder and testable HTTP client for .NETFlurl 是一个现代的、流畅的、异步的、可测试的、可移植的、充满流行语的 URL 构建器和 HTTP 客户端库

var result = await"https://api.mysite.com" .AppendPathSegment("person") .SetQueryParams(new { api_key =

"xyz" }) .WithOAuthBearerToken("my_oauth_token") .PostJsonAsync(new { first_name = firstName, last_name = lastName }) .ReceiveJson();

9 MediatRhttps://github.com/jbogard/MediatRMediatR是一个.NET 6的消息总线库,它能够帮助您将应用程序的行为转化为消息,可使命令、事件和查询等不同的消息类型在您的应用程序中更加明确和一致。

MediatR通常在.NET 6 web应用程序中用于处理CQRS(命令查询职责分离体系结构)中的命令和查询// 定义请求类型:public record MyQuery(string Name) : IRequest;

// 定义处理程序:publicclass MyQueryHandler : IRequestHandler { publicasync Task Handle(MyQuery request, CancellationToken cancellationToken) {

var result = await SomeService.DoWork(request.Name); returnnew MyResponse(result); } } // 发送查询消息:

var mediator = serviceProvider.GetService(); var response = await mediator.Send(new MyQuery(

"my_param"));10 StackExchange.RedisStackExchange.Redis是一个.NET 6开源的Redis客户端库,能够帮助您快速连接和操作Redis服务器此库通常用于.NET 6 web应用程序中处理缓存数据.。

// 连接到Redis:var redis = ConnectionMultiplexer.Connect("localhost"); // 获取Redis键值:var db = redis.GetDatabase();

varvalue = db.StringGet("mykey"); // 设置Redis键值: db.StringSet("mykey", "myvalue");这些10个类库是我项目中必不可少的,包括序列号,日志,orm,验证,redis操作,api请求,DI,DTO映射,图片处理,其中MediatR作为领域驱动开发必备类库,可以说这些大大提高代码的可重用性、可维护性和一致性,同时也能够简化开发和降低风险。

当然还有其他优秀如Quartz,CAP 等在稍大点分布式项目中也会用到欢迎大家一起讨论10个你项目中必不可少的十个.NET类库。

首页 产品 手机 顶部
在线客服
联系方式

热线电话

17378238418

上班时间

周一到周五

公司电话

17378238418

二维码
线