@c#

Stories List
@tangqingfeng

C#.NET MemoryCache 深入解析:本地緩存機制與最佳實踐

簡介 在許多應用程序中,緩存是提升性能的常見方法,尤其是在訪問頻繁且不經常變化的數據時。MemoryCache 是 .NET 提供的一個內存緩存實現,它允許在內存中存儲數據,以減少對數據庫、文件系統或其他遠程服務的訪問,進而提升系統響應速度。 MemoryCache 的核心優勢是: 高效:內存操作非常快速,適合用於緩存短期有效的數據。 輕量:它是一個線程安全的緩存系統,且易於在 .NET 應

tangqingfeng Avatar

@tangqingfeng

Nickname 唐青楓

@patsy324df_banks901rn

通過C#將PDF快速導出為圖片

前言 PDF的實際應用雖然廣泛,但考慮到接收設備不一定有支持的閲讀器, 將PDF導出為圖片格式可能會更方便發送和查閲。另外,圖片格式也更易於我們進行二次編輯。下面我所要介紹的這個將PDF轉換為圖像的方法可以確保轉換後的圖片與原始PDF文件的外觀一致,包括內容的位置和樣式等。只需要簡單幾行代碼就可以將PDF快速導出成你想要的圖片格式。 準備工作 這個方法將用到的是Free Spire.PDF for

patsy324df_banks901rn Avatar

@patsy324df_banks901rn

Nickname PPPika

@dawanzi_6278b06ec111c

.NET平台用C#在PDF文檔中添加、刪除和替換圖片

在當今數字化文檔處理場景中,動態操作PDF文檔中的圖像已成為企業級應用開發的核心需求之一。通過C#在.NET平台實現圖片的添加、替換和刪除功能,不僅能顯著提升PDF文檔的視覺表現力與信息承載效率,更可滿足數據動態更新、內容精準維護等複雜業務場景,為PDF文檔的專業領域應用提供強有力的支持。本文 將介紹如何在.NET平台使用C#代碼在PDF文檔中添加、刪除和替換圖片。包括以下幾個部分: 用C#添

dawanzi_6278b06ec111c Avatar

@dawanzi_6278b06ec111c

Nickname 大丸子

@dawanzi_6278b06ec111c

.NET用C#提取PDF中的圖片

PDF文檔因其跨平台穩定性和格式保真度成為信息交換的核心載體。然而,PDF文件作為容器格式的封閉特性,使得其內部資源的有效提取成為技術挑戰。尤其是對嵌入式圖像這類非結構化數據的獲取需求日益凸顯。通過編程手段實現自動化提取不僅能突破傳統手動截圖的效率瓶頸,更能滿足數據歸檔、多媒體資源庫構建、文檔智能解析等場景的深層需求。本文將介紹如何在.NET平台使用C#提取PDF文檔中的圖片,為PDF圖片的再利用

dawanzi_6278b06ec111c Avatar

@dawanzi_6278b06ec111c

Nickname 大丸子

@masutaadashi

C語言內存泄漏的常見情況及解決方案

內存泄漏(Memory Leak)是指程序在申請內存後,無法釋放已申請的內存空間,一次小的內存泄漏可能沒什麼影響,但長期或頻繁發生會佔用大量內存,影響系統性能甚至引發系統崩潰,造成系統資源的浪費。 內存泄漏存在於諸多編程語言中,是一種普遍的常見的問題。 以C和C++為代表的允許程序員直接管理內存的語言。內存泄漏的常見原因是程序員顯式地分配了內存,但忘記釋放不再需要的內存。 以Java、Pyt

masutaadashi Avatar

@masutaadashi

Nickname Masutaa大師

@dotnetcore_5c7f68d071ec6

C#.NET ORM 如何訪問 Access 數據庫 [FreeSql]

最近很多 .net QQ 羣無故被封停,特別是 wpf 羣幾乎全軍覆沒。依樂祝的 .net6交流羣,曉晨的 .net跨平台交流羣,導致很多碼友流離失所無家可歸,藉此機會使用一次召喚術,有需要的請加羣:560611514【.NET C#愛好者】,6406277【C#/.Net Core社區】,822074314【DotNet開發交流羣】 💻 前言 看到標題點進來,也許有人問,為什麼不用 mysql

dotnetcore_5c7f68d071ec6 Avatar

@dotnetcore_5c7f68d071ec6

Nickname dotnetCore

@mstech

async/await 在 C# 語言中是如何工作的?(上)

前不久,我們發佈了《選擇 .NET 的 n 個理由》。它提供了對平台的高層次概述,總結了各種組件和設計決策,並承諾對所涉及的領域發表更深入的文章。這是第一篇這樣深入探討C# 和 .NET 中 async/await 的歷史、背後的設計決策和實現細節的文章。 對 async/await 的支持已經存在了十年之久。在這段時間裏,它改變了為 .NET 編寫可擴展代碼的方式,而在不瞭解其底層邏輯的情況下使

mstech Avatar

@mstech

Nickname 微軟技術棧

@tangqingfeng

C#.NET DbContext 池化機制深入解析:提升 EF Core 性能的關鍵

簡介 DbContext 池是 Entity Framework Core 中的高性能數據庫連接管理機制,通過重用已初始化的 DbContext 實例,顯著減少創建和銷燬上下文對象的開銷,特別適合高併發場景。尤其在高併發場景(如 Web API)中,頻繁創建和釋放 DbContext 會導致: 性能瓶頸:實例化 DbContext 涉及反射、元數據初始化和連接池分配。 內存壓力:頻繁創建和釋

tangqingfeng Avatar

@tangqingfeng

Nickname 唐青楓

@tangqingfeng

C#.NET Random 深入解析:隨機數生成原理與最佳實踐

簡介 Random 是 .NET 中 System 命名空間提供的一個類,用於生成偽隨機數。它廣泛應用於需要隨機化操作的場景,如生成隨機數據、模擬、遊戲開發或測試用例生成。 偽隨機數生成 在計算機中,Random 類用於生成偽隨機數,這些數值在一定程度上看起來是隨機的,但它們實際上是通過數學公式從一個初始種子值計算得到的,因此稱之為“偽隨機數”。 廣泛應用 Random 類常用於遊戲開

tangqingfeng Avatar

@tangqingfeng

Nickname 唐青楓

@tangqingfeng

C#.NET SemaphoreSlim 深入解析:輕量級異步鎖與併發控制

簡介 SemaphoreSlim 是 .NET 中 System.Threading 命名空間提供的一個輕量級同步原語,用於限制對共享資源的併發訪問。它是傳統 Semaphore 類的輕量替代,專為高性能、異步場景設計,特別適合結合 async/await 的現代 .NET 應用(如 ASP.NET Core)。 在多線程或高併發應用中,共享資源的訪問需要同步以避免競爭條件。傳統的 Semapho

tangqingfeng Avatar

@tangqingfeng

Nickname 唐青楓

@aoshizhongshengdeyadan_wcyg0

C# 使用 Spire.Doc 實現企業級 Word 文檔打印方案

在.NET生態中,傳統打印方案存在兩大核心問題: System.Drawing.Printing 需手動處理分頁邏輯、打印機配置複雜(API設計超過20個類) Word.Interop 依賴本地Office安裝,無法在Server環境穩定運行 如何實現無需Office環境的精準打印?本文將用Spire.Doc for .NET演示從頁面設置到批量打印的全流程。 一、.NET 打印組件核心

aoshizhongshengdeyadan_wcyg0 Avatar

@aoshizhongshengdeyadan_wcyg0

Nickname 傲視眾生的鴨蛋_wcyg0

@dawanzi_6278b06ec111c

使用 C# 將 DataTable 導出為格式化的 Excel 文件

在 C# 開發中,DataTable 是常用於表示結構化數據的對象,尤其在導出報表、數據記錄、查詢結果等場景中應用廣泛。為了更直觀地展示和分發這些數據,我們通常會將其導出為 Excel 文件(如 .xlsx),並根據需要進行樣式美化。 本文將介紹如何使用 C# 將 DataTable 導出為 Excel 文件,並分步驟實現數據導出和樣式格式設置。我們還將演示如何將 Excel 文件保存為本地文件或

dawanzi_6278b06ec111c Avatar

@dawanzi_6278b06ec111c

Nickname 大丸子

@dawanzi_6278b06ec111c

使用 C# 從SQL數據庫讀取數據庫導出為 Excel 文件

在實際開發中,我們經常需要將數據庫中的查詢結果導出為 Excel 報表,以便進行數據分析、歸檔或分享。在這個過程中,DataTable 通常作為數據載體,而 Excel 則是最常見的導出格式之一。 本文將演示如何: 從 SQL Server 數據庫讀取數據到 DataTable 使用 C# 將 DataTable 插入到 Excel 文件 對導出的 Excel 進行格式化美化 本示例使用

dawanzi_6278b06ec111c Avatar

@dawanzi_6278b06ec111c

Nickname 大丸子

@dawanzi_6278b06ec111c

C#實現DataSet與Excel的雙向轉換

在日常開發中,DataSet 是 .NET 程序中常用的數據容器,而 Excel 文件 則是數據交換和報表的常見格式。 在實際業務中,經常需要將數據庫查詢結果保存到 Excel 文件,或者將 Excel 文件中的數據導入到 DataSet 以便進一步處理。 本文將介紹如何使用 C# 和 Free Spire.XLS for .NET 來完成以下任務: 將 DataSet 導出為 Exce

dawanzi_6278b06ec111c Avatar

@dawanzi_6278b06ec111c

Nickname 大丸子

@dawanzi_6278b06ec111c

C#把Excel表格讀成DataTable:指定範圍 + 函數處理技巧

在日常開發裏,我們經常會碰到這樣的場景: 產品經理丟給你一份 Excel 表格,要你把數據塞進數據庫,或者做個統計分析。 C# 裏最合適的容器當然是 DataTable,問題是——怎麼優雅地把 Excel 表格變成 DataTable 呢? 這篇文章就帶你從零開始,順便聊聊兩個容易踩坑的點: 如何只讀表格裏的一部分區域,而不是整張表; 如果單元格里有公式,要拿到結果值而不是公式字

dawanzi_6278b06ec111c Avatar

@dawanzi_6278b06ec111c

Nickname 大丸子

@chuanghongdengdeqingwa_eoxet2

如何使用C#實現Excel和CSV互轉:基於Spire.XLS for .NET的專業指南

在現代數據處理和分析中,Excel和CSV作為兩種最常見的數據格式,扮演着舉足輕重的角色。Excel以其強大的格式化和多工作表支持,成為商業報告和數據分析的首選;而CSV(逗號分隔值)則以其簡潔、通用和易於解析的特性,廣泛應用於數據交換和輕量級存儲。然而,在實際開發中,開發者經常面臨 c# excel 轉 csv 或 csv 轉 excel 的數據轉換挑戰,尤其是在處理大文件、複雜編碼或需要保持數

chuanghongdengdeqingwa_eoxet2 Avatar

@chuanghongdengdeqingwa_eoxet2

Nickname 宇文成都

@dawanzi_6278b06ec111c

使用 C# 設置 Excel 單元格格式

在實際報表開發中,Excel 的可讀性和美觀性與數據本身同樣重要。合理的單元格格式設置不僅能讓數據一目瞭然,還能讓報表顯得更專業。通過使用 C#,開發者可以精確控制 Excel 文件的單元格樣式,無需依賴 Microsoft Office。 本文演示如何在 同一個工作表中設置 字體、背景顏色、行高列寬、邊框和單元格合併,並説明每個操作的作用和適用場景,幫助你真正理解 Excel 格式化背後的邏輯。

dawanzi_6278b06ec111c Avatar

@dawanzi_6278b06ec111c

Nickname 大丸子

@dawanzi_6278b06ec111c

使用 C# 在 Excel 工作表中創建圖表

在日常的報表開發和數據分析中,圖表的直觀可視化效果遠比單純的數字更容易幫助我們理解和呈現數據。通過圖表,管理層可以快速洞察趨勢,業務人員可以輕鬆比較不同維度的數據。 使用 C#,我們無需依賴 Microsoft Office,即可直接在 Excel 文件中創建豐富的圖表類型。本文將演示如何在 同一個工作表中基於示例數據創建 柱狀圖、折線圖和餅圖,並説明每類圖表的應用場景,幫助你全面掌握 Excel

dawanzi_6278b06ec111c Avatar

@dawanzi_6278b06ec111c

Nickname 大丸子

@dawanzi_6278b06ec111c

使用 C# 操作 Excel 工作表:添加、刪除、複製、移動、重命名

在日常開發中,我們經常需要對 Excel 文件進行各種操作,而不僅僅是寫入或讀取數據。比如在處理報表時,可能需要 添加新的工作表、刪除不需要的表、複製或移動表格內容,甚至對工作表進行重命名和調整順序。掌握這些操作能讓你的 Excel 文件更加靈活,結構更清晰。 本文演示如何在 同一個工作簿內 完成多種工作表管理操作,包括添加、刪除、複製、移動、重命名以及移動工作表。所有操作都基於同一個示例文件,便

dawanzi_6278b06ec111c Avatar

@dawanzi_6278b06ec111c

Nickname 大丸子

@caisekongbai

C# 面向對象編程進階:構造函數詳解與訪問修飾符應用

C# 構造函數 構造函數是一種特殊的方法,用於初始化對象。構造函數的優勢在於,在創建類的對象時調用它。它可以用於為字段設置初始值: 示例 獲取您自己的 C# 服務器 創建一個構造函數: // 創建一個 Car 類 class Car { public string model; // 創建一個字段 // 為 Car 類創建一個類構造函數 public Car() { m

caisekongbai Avatar

@caisekongbai

Nickname 小萬哥

@caisekongbai

C# 繼承、多態性、抽象和接口詳解:從入門到精通

C# 繼承 在 C# 中,可以將字段和方法從一個類繼承到另一個類。我們將“繼承概念”分為兩類: 派生類(子類) - 從另一個類繼承的類 基類(父類) - 被繼承的類 要從一個類繼承,使用 : 符號。 在以下示例中,Car 類(子類)繼承了 Vehicle 類(父類)的字段和方法: 示例 class Vehicle // 基類(父類) { public string brand = "

caisekongbai Avatar

@caisekongbai

Nickname 小萬哥

@caisekongbai

深入理解 C# 編程:枚舉、文件處理、異常處理和數字相加

C# 枚舉 枚舉是一個特殊的“類”,表示一組常量(不可更改/只讀變量)。 要創建枚舉,請使用 enum 關鍵字(而不是 class 或 interface),並用逗號分隔枚舉項: enum Level { Low, Medium, High } 您可以使用點語法訪問枚舉項: Level myVar = Level.Medium; Console.WriteLine(myVar); E

caisekongbai Avatar

@caisekongbai

Nickname 小萬哥

@incerry

.NET週刊【8月第1期 2024-08-04】

國內文章 EF Core性能優化技巧 https://www.cnblogs.com/baibaomen-org/p/18338447 這篇文章介紹了在代碼層面上優化EF Core實例池和拆分查詢的方法。首先,文章建議使用DbContext實例池來重複利用實例,避免資源浪費,並提供相關使用示例。其次,文章討論了笛爾卡乘積對複雜查詢性能的影響,並推薦使用拆分查詢來優化SQL語句的執行。通過具體的代碼

incerry Avatar

@incerry

Nickname InCerry