2025-10-01
C#
00

SQLite 是一个轻量级的嵌入式数据库,它适用于小型到中型的应用场景。SQLite在C#中的应用非常广泛,支持跨平台开发,并且非常易于使用。下面我们将详细介绍如何在C#中使用SQLite,并提供详细的例子。

特点

  1. 轻量级:SQLite 是一个嵌入式数据库,不需要独立的服务器进程,它是一个C库,可以集成到主程序中。
  2. 跨平台:SQLite 支持包括Windows、Linux、macOS在内的多个平台。
  3. 自包含:SQLite 的数据库是单个文件,非常适合移动应用和其他需要便携性的应用。
  4. 丰富的功能:支持事务、跨多个表的复杂查询、视图、触发器等。

环境配置

  1. 安装SQLite NuGet包
C#
dotnet add package System.Data.SQLite.Core

image.png

2025-10-01
C#
00

Polly 是一个为 .NET 应用程序提供弹性和瞬时故障处理的库。通过使用 Polly,你可以非常简洁地实现重试、断路器、超时和缓存等功能,以增强应用程序的健壮性和稳定性。

本文将详细介绍如何在 C# 项目中使用 Polly,并通过多个示例展示其使用方法。

安装 Polly

首先,你需要在项目中安装 Polly 库。在 NuGet 包管理器控制台执行以下命令:

PowerShell
Install-Package Polly

或者在 Visual Studio 中,可以通过 NuGet 包管理器直接搜索 Polly 并安装。

image.png

2025-10-01
C#
00

在这篇文章中,我们将深入探讨如何在C#中使用HttpClient.PostAsync进行HTTP POST请求。我们将涵盖基础知识、一些高级用法以及实际应用示例。让我们开始吧!

什么是HttpClient?

HttpClient是.NET库中的一个类,用于处理HTTP请求。它可以让你发送数据到服务器或从服务器获取数据。

使用HttpClient的优势

  • 异步操作:确保你的应用在等待响应时不会冻结。
  • 可重用:你可以使同一个实例进行多次请求。
  • 灵活性:支持多种HTTP方法和可定制的头信息。

HttpClient.PostAsync的定义和用途

HttpClient.PostAsync基本上是告诉你的程序使用HTTP POST方法异步地向指定的URL发送数据。想象一下,它就像是即时可靠地邮寄一封信。

何时使用PostAsync

当你需要向服务器发送数据以创建或更新资源时,使用PostAsync。这就像提交表单或上传文件。

2025-10-01
C#
00

在C#中进行数据处理时,IEnumerableIQueryable是两个非常重要的接口。它们提供了延迟执行和查询操作,但有着不同的工作方式和应用场景。

IEnumerable

特点

  1. 延迟执行:IEnumerable 也是延迟执行。当对 IEnumerable 进行操作时,它会在实际迭代时才执行查询。
  2. 内存中操作:所有操作和过滤在内存中完成。这意味着数据已经被加载到内存中。
  3. 适用于内存数据:通常用于处理内存中的集合,如 List、Array 等。
  4. 无查询优化:由于在内存中操作,没有查询优化。

应用场景

  • 对已经加载到内存中的数据进行操作和查询。
  • 不需要对大数据集进行过滤或分页,只需对小数据集合进行处理。
2025-10-01
C#
00

LiteDB 是一个轻量、快速、嵌入式的 NoSQL 数据库。它不需要服务器,适用于桌面、移动应用以及小型 Web API 项目,本人在一些小项目中比较喜欢使用。本文将介绍 LiteDB 的主要特点以及如何在 C# 中使用 LiteDB,通过完整的例子展示常见的数据库操作。

LiteDB 主要特点

  • 无需服务器:LiteDB 运行于单一 DLL 中,不需要复杂的服务器配置。
  • 轻量级:数据库文件小巧,适用于资源受限的环境。
  • 嵌入式:LiteDB 直接嵌入到应用程序中。
  • NoSQL:基于 BSON(二进制 JSON 序列化协议)存储数据。
  • 简单易用:通过简单的 API 实现 CRUD 操作。
  • 支持 LINQ:方便的数据查询与操作支持。

安装 LiteDB

首先,通过 NuGet 包管理器安装 LiteDB。可以在 Visual Studio 的包管理控制台中输入以下命令:

PowerShell
Install-Package LiteDB

或者在 .csproj 文件中添加以下包引用:

XML
<PackageReference Include="LiteDB" Version="5.0.9" />

image.png