编辑
2025-10-06
C#
00

ClosedXML 是一个用于创建和操作 Microsoft Excel 电子表格的 .NET 库。它提供了一个简单而直观的 API,使得在 C# 中处理 Excel 文件变得轻而易举。本文将详细介绍 ClosedXML 的使用方法,并提供多个实用的例子。

安装

首先,通过 NuGet 包管理器安装 ClosedXML:

PowerShell
Install-Package ClosedXML

image.png

基本用法

创建新的工作簿和工作表

C#
static void Main(string[] args) { using (var workbook = new XLWorkbook()) { var worksheet = workbook.Worksheets.Add("Sample Sheet"); worksheet.Cell("A1").Value = "Hello World!"; workbook.SaveAs("HelloWorld.xlsx"); } Console.WriteLine("Excel file created successfully!"); }

image.png

编辑
2025-10-06
C#
00

简介

ColorListView 是一个继承自 ListView 的自定义控件,它提供了更丰富的单元格样式设置功能。这个控件允许用户为每个单元格设置自定义的背景颜色、填充百分比和图标。通过重写绘制方法,ColorListView 实现了这些自定义功能,同时保留了原有 ListView 的基本特性。

主要特性

  1. 自定义单元格背景颜色
  2. 可调节的背景填充百分比
  3. 支持为单元格添加自定义图标
  4. 保留原有的选中和焦点状态显示

实现细节

CellInfo 类

CellInfo 是一个私有内部类,用于存储每个单元格的自定义信息:

C#
private class CellInfo { public Color BackColor { get; set; } public float FillPercentage { get; set; } public Image Icon { get; set; } public CellInfo(Color backColor, float fillPercentage, Image icon = null) { BackColor = backColor; FillPercentage = Math.Max(0, Math.Min(100, fillPercentage)) / 100f; Icon = icon; } }
编辑
2025-10-06
C#
00

FluentFTP 是一个功能丰富的 .NET FTP 客户端库,它提供了一个简单而直观的 API 来执行各种 FTP 操作。本文将详细介绍 FluentFTP 的使用方法,并提供多个实用的例子。

1. 安装

首先,通过 NuGet 包管理器安装 FluentFTP:

PowerShell
Install-Package FluentFTP

image.png

2. 基本用法

2.1 连接到 FTP 服务器

C#
static async Task Main(string[] args) { using (var client = new AsyncFtpClient("127.0.0.1", "admin", "123456")) { await client.Connect(); Console.WriteLine("Connected to FTP server!"); // 执行其他操作... await client.Disconnect(); } }

image.png

编辑
2025-10-06
C#
00

Bogus 是一个简单yet功能强大的 C# 库,用于生成逼真的假数据。无论是在测试、原型设计还是演示中,Bogus 都能帮助你快速生成所需的模拟数据。本文将详细介绍 Bogus 的使用方法,并提供多个实用的例子。

1. 安装

首先,通过 NuGet 包管理器安装 Bogus:

C#
Install-Package Bogus

image.png

2. 基本用法

2.1 生成简单的假数据

让我们从一个简单的例子开始,生成一个假人的信息:

C#
using Bogus; class Program { static void Main(string[] args) { var faker = new Faker(); Console.WriteLine($"Name: {faker.Name.FullName()}"); Console.WriteLine($"Email: {faker.Internet.Email()}"); Console.WriteLine($"Phone: {faker.Phone.PhoneNumber()}"); Console.WriteLine($"Address: {faker.Address.FullAddress()}"); } }

image.png

编辑
2025-10-06
C#
00

在C#开发中,LINQ (Language Integrated Query) 为我们提供了强大的数据查询和操作能力。其中,Single、SingleOrDefault、First和FirstOrDefault是四个常用且容易混淆的方法。本文将深入探讨这些方法的特点、使用场景以及它们之间的区别,帮助您在实际编程中做出正确的选择。

Single方法

Single方法用于从序列中获取唯一满足指定条件的元素。它有两个重要的特性:

  1. 如果序列中没有元素满足条件,会抛出异常。
  2. 如果有多个元素满足条件,同样会抛出异常。

因此,Single方法适用于您确定序列中有且仅有一个元素满足条件的情况。

示例

C#
List<int> numbers = new List<int> { 1, 3, 5, 7, 9 }; // 正确使用:只有一个元素满足条件 int result = numbers.Single(n => n == 5); Console.WriteLine(result); // 输出: 5 // 错误使用:没有元素满足条件,会抛出异常 // int noResult = numbers.Single(n => n > 10); // 错误使用:多个元素满足条件,会抛出异常 // int multipleResults = numbers.Single(n => n > 3);

image.png

SingleOrDefault方法

SingleOrDefault方法与Single类似,但有一个重要区别:当没有元素满足条件时,它会返回该类型的默认值,而不是抛出异常。