编辑
2025-09-28
C#
00

SQLite是一个轻量级的关系型数据库,在并发访问时可能会遇到数据库锁定的问题。本文将详细介绍如何在C#中正确处理SQLite的并发操作,避免锁库问题。

常见的锁库场景

SQLite在以下情况下容易发生锁库:

  • 多线程同时写入数据
  • 长时间事务占用连接
  • 读写操作混合执行

基本解决方案

使用using语句确保连接释放

C#
public void SafeInsert(string data) { using (var connection = new SQLiteConnection(_connectionString)) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = "INSERT INTO TestTable (Data) VALUES (@data)"; command.Parameters.AddWithValue("@data", data); command.ExecuteNonQuery(); } } }
编辑
2025-09-28
C#
00

Windows Presentation Foundation (WPF) 是一个现代化的用户界面框架,专为构建 Windows 应用程序而设计。它通过分层的技术架构和丰富的功能集,提供了全面的应用程序开发解决方案。本文将探讨 WPF 的技术架构、核心优势以及一些示例代码,以帮助开发者更好地理解和应用这一框架,其实按我最浅显的理解,WPF更接近Web的一些应用技术,或者说更早的的一种实验。

技术架构

WPF 采用分层架构设计,主要包括以下几个层次:

XAML(可扩展应用程序标记语言):WPF 的声明式 UI 语言,允许开发者以 XML 格式定义用户界面。XAML 使得界面开发更加直观和高效。

XML
<Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <ToolBar Grid.Row="0"> <Button Content="新建" /> <Button Content="打开" /> <Separator /> <Button Content="保存" /> </ToolBar> <TabControl Grid.Row="1"> <TabItem Header="页面1"> <TextBox AcceptsReturn="True" /> </TabItem> <TabItem Header="页面2"> <DataGrid AutoGenerateColumns="True" /> </TabItem> </TabControl> </Grid>

image.png

编辑
2025-09-28
C#
00
编辑
2025-09-28
C#
00

摘要

AES(Advanced Encryption Standard)是一种对称加密算法,广泛用于数据的加密和解密。在C#中,我们可以使用AesManaged类来实现AES加密和解密。

正文

常用属性与方法

AesManaged类提供了许多属性和方法,以下是一些常用的:

  • Key:获取或设置加密算法的密钥。
  • IV:获取或设置加密算法的初始化向量。
  • BlockSize:获取加密算法的块大小(以位为单位)。
  • KeySize:获取或设置加密算法的密钥大小(以位为单位)。
  • Padding:获取或设置加密算法的填充模式。
  • CreateEncryptor():创建用于加密数据的ICryptoTransform对象。
  • CreateDecryptor():创建用于解密数据的ICryptoTransform对象。
编辑
2025-09-28
C#
00

摘要

ZipArchive 类是 C# 中用于处理 ZIP 文件的类。它提供了一组方法和属性,可以方便地创建、压缩和解压 ZIP 文件。本文将介绍 ZipArchive 类的常用属性和方法,并提供一些示例代码来说明如何使用它们。

正文

常用属性与方法

除了上述示例中使用的属性和方法外,ZipArchive 类还提供了许多其他有用的属性和方法,以下是一些常用的:

  • Entries:获取 ZIP 文件中的所有条目。
  • GetEntry(string entryName):根据条目名称获取 ZIP 文件中的条目。
  • CreateEntry(string entryName):创建一个 ZIP 文件中的条目。
  • ExtractToDirectory(string destinationDirectoryName):将 ZIP 文件中的所有文件和目录解压到指定的目录中。
  • Dispose():释放 ZipArchive 对象占用的资源。