原创 .net 溫故知新:【10】.NET ORM框架EFCore使用入門之CodeFirs、DBFirst

前言:本系列是我自己學習.net相關知識,以便跟上.net跨平臺的步伐,目前工作原因基本在.net Framework4.7以下,所以纔有了這一系列的學習總結,但是並不是從基本的C#語法和基礎知識開始的,而是圍繞.net core以後平臺的

原创 .net 溫故知新:【9】.NET日誌記錄 ILogger使用和原理

日誌 日誌作爲我們程序記錄的“黑匣子”不論什麼系統都應該使用到的,比如我們經常使用的log4net就是第三方日誌記錄提供程序。.NET 支持使用各種內置和第三方日誌記錄提供程序的日誌記錄 API,這篇文章主要介紹的是內置提供程序和API的使

原创 .net 溫故知新:【8】.NET 中的配置從xml轉向json

一、配置概述 在.net framework平臺中我們常見的也是最熟悉的就是.config文件作爲配置,控制檯桌面程序是App.config,Web就是web.config,裏面的配置格式爲xml格式。 在xml裏面有系統生成的配置項,也

原创 .net 溫故知新:【7】IOC控制反轉,DI依賴注入

IOC控制反轉 大部分應用程序都是這樣編寫的:編譯時依賴關係順着運行時執行的方向流動,從而生成一個直接依賴項關係圖。 也就是說,如果類 A 調用類 B 的方法,類 B 調用 C 類的方法,則在編譯時,類 A 將取決於類 B,而 B 類又取決

原创 .net 溫故知新:【6】Linq是什麼

1、什麼是Linq 關於什麼是Linq 我們先看看這段代碼。 List<int> list = new List<int> { 1, 1, 2, 2, 3, 3, 3, 5, 7, 8, 10, 12 };

原创 C# 蓄水池抽樣

蓄水池採樣算法解決的是在給定但長度未知的大數據集中,隨機等概率抽取一個數據。如果知道數據的長度,可以用隨機數rand()%n得到一個確切的隨機位置,或者分塊取值來構造隨機,那麼該位置的對象就是所求的對象,選中的概率是1/n。那長度未知特別是

原创 C# 圖片處理生成縮略圖

縮略圖通常是將圖片內容進行一定的縮小展現,或裁剪展現,主要有兩個目的,一是提供一定的預覽功能,二是節省屏幕展示空間、節省流量。 在網站中我們通常運用在商品的列表,比如商城、圖書、新聞等等列表的圖片。在C#中我們如何生成縮略圖呢,也就是縮小圖

原创 sql server 聚集索引,非聚集索引,Identity ,gudi,主鍵的概念和比較

索引 可以把索引理解爲一種特殊的目錄。微軟的SQL SERVER提供了兩種索引:聚集索引(clustered index,也稱聚類索引、簇集索引)和非聚集索引(nonclustered index,也稱非聚類索引、非簇集索引)。 聚集索引和

原创 C# 圖片沿中心點進行角度旋轉

Image 圖片沿中心點進行任意角度旋轉 public static Image RotateImg(Image b, int angle) { angle = angle % 360

原创 C# iText 7 切分PDF,處理PDF頁面大小

一、itext 我要使用itext做一個pdf的頁面大小一致性處理,然後再根據數據切分出需要的pdf. iText的官網有關於它的介紹,https://itextpdf.com/ 然後在官網可以查找api文檔https://api.itex

原创 快速瞭解XML

1. XML 定義 可擴展標記語言,標準通用標記語言的子集,簡稱XML。是一種用於標記電子文件使其具有結構性的標記語言。 2. XML 展示 如下是一個xml的標記展示,XML 是不作爲的XML 被設計用來結構化、存儲以及傳輸信息,所以我們

原创 WinForm RichTextBox 常用操作

1、設置不自動選擇字詞 RichTextBox在選擇文字的時候,如果沒有關閉自動選擇字詞功能,我們有時候選擇的時候會自動將光標前後的字或者詞連接在一起進行選擇。 RichTextBox有屬性AutoWordSelection 設置爲fals

原创 WinForm 控件 DataGridView 常用操作

1、取消列自動生成 在窗體load事件裏面設置表格dataGridView的AutoGenerateColumns爲 false dataGridView.AutoGenerateColumns = false 2、取消所有選中單元格 調

原创 Winform 全局異常捕獲處理

我們在開發winform程序的時候經常需要處理異常,如果沒處理好異常程序就會崩潰,影響用戶體驗。 所以防止程序在沒處理到異常時能由一個全局的異常捕獲處理,在winform的program文件裏面我們可以添加全局異常捕獲事件,然後處理異常。

原创 .net 溫故知新:【5】異步編程 async await

1、異步編程 異步編程是一項關鍵技術,可以直接處理多個核心上的阻塞 I/O 和併發操作。 通過 C#、Visual Basic 和 F# 中易於使用的語言級異步編程模型,.NET 可爲應用和服務提供使其變得可響應且富有彈性。 上面是關於