@c#

动态 列表
@tangqingfeng

C#.NET FluentValidation 全面解析:優雅實現對象驗證

簡介 FluentValidation 是一個基於“流式 API”(Fluent API)的 .NET 驗證框架,用於在應用層對模型(DTO、ViewModel、Entity 等)進行聲明式驗證。 核心優勢: 高可讀性:通過鏈式方法配置驗證規則,邏輯清晰; 可複用:將驗證代碼從業務邏輯中分離,易於單元測試; 豐富的內置規則:郵箱、長度、正則、多字段聯動、集合驗證

tangqingfeng 头像

@tangqingfeng

昵称 唐青楓

@tangqingfeng

C#.NET Configuration 全面解析:從多環境到強類型綁定實戰

簡介 ASP.NET Core 的配置系統旨在提供統一、靈活的方式來讀取應用程序設置。它具備以下特點: 支持多種配置源:JSON、XML、INI、環境變量、命令行、內存、用户機密、數據庫、自定義等; 層級合併與覆蓋:後添加的配置源會覆蓋前面的同名鍵; 鍵名稱統一:默認使用“冒號”分隔的層級鍵(如Logging:LogLevel:Default); 與DI 整合:通過IConfigurat

tangqingfeng 头像

@tangqingfeng

昵称 唐青楓

@tangqingfeng

C#.NET SqlKata 使用詳解:優雅構建動態 SQL 查詢

簡介 在複雜項目中,為了保持 SQL 靈活性與可讀性,開發者往往需要手寫大量拼接字符串或使用 ORMs 附帶的 LINQ,但兩者各有侷限:手寫拼接易出錯、難以維護;LINQ 在某些場景下生成的 SQL 不夠直觀或性能不佳。 SqlKata 是一款輕量級、數據庫無關的查詢構建器(Query Builder),提供—— 流式 API,鏈式調用拼裝 SQL 可切換編譯器,支

tangqingfeng 头像

@tangqingfeng

昵称 唐青楓

@aoshizhongshengdeyadan_wcyg0

通過 C# 給 Word 文檔添加文字或圖片水印

在日常辦公中,給Word文檔添加水印是個常見需求——可能是為了標記"草稿"狀態、標註"機密"等級,或者用企業Logo作為背景防偽。如果需要批量處理文檔,手動操作效率太低,用代碼自動化處理才是王道。 今天就來分享一個簡單高效的方案:用 C# 結合免費庫 Free Spire.Doc for .NET 給 Word 文檔添加水印(包括文本水印和圖片水印)。無需依賴Office組件,輕量又好用,新手也能

aoshizhongshengdeyadan_wcyg0 头像

@aoshizhongshengdeyadan_wcyg0

昵称 傲視眾生的鴨蛋_wcyg0

@tangqingfeng

C#.NET FluentSqlKata 全面解析:基於鏈式語法的動態 SQL 構建

簡介 在使用 SqlKata 構建 SQL 時,雖然其鏈式 API 強大靈活,但仍需通過字符串或匿名字段進行表與列的映射,缺乏對實體類型和字段的靜態檢查。FluentSqlKata 基於 SqlKata,提供了一套基於表達式的強類型查詢構建能力,能夠: 通過 Lambda 表達式指定實體與列,更安全、可重構 保留 SqlKata 的所有特性與多數據庫編譯器支持 在運行時動態構造 ORDER

tangqingfeng 头像

@tangqingfeng

昵称 唐青楓

@tangqingfeng

C#.NET ArrayPool 深入解析:高性能內存池的實現與應用

簡介 ArrayPoolT 是 .NET 中一個高性能的內存管理工具,位於 System.Buffers 命名空間。它通過重用數組而非頻繁分配新數組,顯著減少 GC(垃圾回收)壓力,提升內存敏感型應用的性能。特別適合處理大型數組和臨時緩衝區。 工作原理圖解 背景與動機 GC 和大對象開銷:頻繁分配與釋放大數組(特別是超過 LOH 閾值 ~85 KB 的數組)會導致大量垃圾回收壓力和內存碎片化

tangqingfeng 头像

@tangqingfeng

昵称 唐青楓

@tangqingfeng

C#.NET NCrontab 深入解析:輕量級 Cron 表達式解析器

簡介 NCrontab 是 .NET 平台下功能完備的 Cron 表達式解析與調度計算庫,用於處理類似 Unix Cron 的時間調度邏輯。它不依賴外部系統服務,純託管實現,是構建定時任務系統的核心組件。 解決的關鍵問題 Cron 表達式解析:將字符串表達式轉換為可計算的時間模型 時間序列生成:計算下次執行時間或生成時間序列 跨平台支持:純 .NET 實現,無操作系統依賴 輕量高效:無外

tangqingfeng 头像

@tangqingfeng

昵称 唐青楓

@tangqingfeng

C#.NET PeriodicTimer 深入解析:高效異步定時器的正確打開方式

簡介 在異步編程中,常見的定時任務通常使用 System.Timers.Timer、System.Threading.Timer 或者循環中配合 Task.Delay。 這些方式或需要顯式管理回調線程、或需編寫複雜的取消邏輯,或容易因累積延遲導致執行不準。 PeriodicTimer(.NET 6+ 引入於 System.Threading)提供了一個基於 IAsyncDisposable

tangqingfeng 头像

@tangqingfeng

昵称 唐青楓

@aoshizhongshengdeyadan_wcyg0

如何用 C# 將 Excel 文件轉換為 HTML 格式?

在數據處理場景中,將 Excel 文件轉換為 HTML 格式是實現報表自動化、前端數據展示的重要環節。尤其在企業內部系統中,Excel 文件常作為臨時或手動輸入的數據源,而 HTML 則更適合作為網頁展示或嵌入系統頁面的格式。本文將分享如何使用 Spire.XLS for .NET 庫,基於 C# 實現 Excel 到 HTML 的精準轉換,滿足真實業務場景下的需求。 優勢對比 相比其他方案,S

aoshizhongshengdeyadan_wcyg0 头像

@aoshizhongshengdeyadan_wcyg0

昵称 傲視眾生的鴨蛋_wcyg0

@tangqingfeng

C#.NET Cronos 實戰:優雅解析與執行 Cron 表達式

簡介 Cronos 是一個專為 .NET 設計的輕量級、高性能 cron 表達式解析庫,由 Hangfire 團隊開發。相比其他 cron 庫,它專注於提供精確的時區處理和高效的計算算法,特別適合需要跨時區調度的現代應用。 在 .NET 應用中需要使用 Cron 表達式驅動定時任務時,系統自帶的定時器並不支持直接解析 Cron 語法。 雖然有 Quartz.NET 等重量級調度框架,但在只需

tangqingfeng 头像

@tangqingfeng

昵称 唐青楓

@tangqingfeng

循環插入太慢?試試 C#.NET SqlBulkCopy,一次導入上百萬數據

簡介 SqlBulkCopy 是 .NET 中針對 SQL Server 的高性能批量數據導入類,通過最小化網絡往返和利用 SQL Server 的批量加載機制,實現遠超傳統 INSERT 語句的性能(通常快 10-100 倍)。它通過利用 SQL Server 的批量插入機制(BCP,Bulk Copy Protocol),顯著提高了數據導入的效率,特別適合大數據量場景。 背景和作用 在 .NE

tangqingfeng 头像

@tangqingfeng

昵称 唐青楓

@chengshudeyuechi_ewr3r2

C語言:函數指針,數組,結構體

函數指針、數組、結構體 一、函數指針 1.1 函數名 一個函數在編譯時被分配一個入口地址,這個地址就稱為函數的指針,函數名代表函數的入口地址 #include stdio.h // 一個函數在編譯時被分配一個入口地址,這個地址就稱為函數的指針,函數名代表函數的入口地址 void func() { printf("這是func函數內部的打印\n"); } int main() {

chengshudeyuechi_ewr3r2 头像

@chengshudeyuechi_ewr3r2

昵称 哈哈哼嘿

@chengshudeyuechi_ewr3r2

C語言:複合類型,內存管理,綜合案例

day05:複合類型、內存管理、綜合案例 一、複合類型(自定義類型) 1.1 共用體(聯合體) 共用體和結構體區別 特性 結構體 (struct) 共用體 (union) 存儲方式 各成員順序存儲,擁有獨立的內存空間。 所有成員共享同一塊起始內存空間。 內存佔用 所有成員大小之和(需考慮內存對齊)。

chengshudeyuechi_ewr3r2 头像

@chengshudeyuechi_ewr3r2

昵称 哈哈哼嘿

@user_2dx56kla

Session和Cookie的定義是什麼?他們之間有什麼區別?

一、什麼是 Cookie? Cookie 是一小段文本信息(最多約4KB),由服務器生成併發送給瀏覽器,瀏覽器會將其保存在用户本地。此後,瀏覽器每次向同一服務器發起請求時,都會自動攜帶這個 Cookie。 主要特點: 存儲位置:客户端(瀏覽器)。 生命週期:可設置有效期。可以是會話級(瀏覽器關閉即失效),也可以設置一個未來的過期時間。 參與方:服務器創建,瀏覽器保存和發送。 安全性:相

user_2dx56kla 头像

@user_2dx56kla

昵称 Code數字遊民

@codesheep_pro

Jetbrains正式官宣免費,太炸裂了!!

提到 Jetbrains,相信搞開發的同學應該都不陌生。 眾所周知,該公司盛產各種編程IDE和開發工具。 2000年才成立,到現在卻已經發布了超30款世界頂級的編程軟件,同時也收穫了來自全球範圍內開發者和用户的青睞。 而就在不久前,Jetbrains 又放出了一個爆炸式的消息,那就是: Jetbrains 正式官宣: WebStorm 和 Rider 這兩款強大的IDE從現在開始對非商業用途全

codesheep_pro 头像

@codesheep_pro

昵称 CodeSheep

@huli_5f06b98ab5a44

手把手教你爬取優酷電影信息 -1

爬蟲的製作主要分為三個方面 1、加載網頁結構 2、解析網頁結構,轉變為符合需求的數據實體 3、保存數據實體(數據庫,文本等) 在實際的編碼過程中,找到了一個好的類庫“HtmlAgilityPack”。 介紹: 官網:http://html-agility-pack.net/... Html Agility Pack源碼中的類大概有28個左右,其實不算一個很複雜的

huli_5f06b98ab5a44 头像

@huli_5f06b98ab5a44

昵称 happlyfox

@huli_5f06b98ab5a44

手把手教你爬取優酷電影信息-2

上一章節中我們實現了對優酷單頁面的爬取,簡單進行回顧一下,使用HtmlAgilityPack庫,對爬蟲的爬取一共分為三步 爬蟲步驟 加載頁面 解析數據 保存數據 繼第一篇文檔後的爬蟲進階,本文章主要是對上一篇的進階。實現的功能主要為: 1、爬取電影類別列表 2、循環每個類別的電影信息,對每個類別的信息分頁爬取 3、爬取的數據保存到數據

huli_5f06b98ab5a44 头像

@huli_5f06b98ab5a44

昵称 happlyfox