原创 通過表達式樹實現,根據名稱獲取或設置對象屬性值(性能相較於反射而言要快1~2倍)

一、介紹 在日常的開發過程中會出現,需要根據名稱來獲取某個未知對象的屬性,常用的方式是使用反射來完成此類效果,但是反射在性能方面要比較差,所以這個組件是使用反射+表達式樹來實現的獲取、設置屬性值,在性能上要比純反射速度要快1~2

原创 LeetCode:對稱二叉樹(c#)

題目內容 給定一個二叉樹,檢查它是否是鏡像對稱的。 例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面這個 [1,2,2,null

原创 LeetCode:3的冪(c#)

題目內容 給定一個整數,寫一個函數來判斷它是否是 3 的冪次方。 示例 1: 輸入: 27 輸出: true 示例 2: 輸入: 0 輸出: false 示例 3: 輸入: 9 輸出: true 示例 4: 輸入: 45

原创 LeetCode:Fizz Buzz(c#)

一、題目內容 寫一個程序,輸出從 1 到 n 數字的字符串表示。 如果 n 是3的倍數,輸出“Fizz”; 如果 n 是5的倍數,輸出“Buzz”; 如果 n 同時是3和5的倍數,輸出 “FizzBuzz”。 示

原创 LeetCode:二叉樹的最大深度(c#)

題目內容 給定一個二叉樹,找出其最大深度。 二叉樹的深度爲根節點到最遠葉子節點的最長路徑上的節點數。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定二叉樹 [3,9,20,null,null,15,7] 3

原创 LeetCode:缺失數字

題目內容 給定一個包含 0, 1, 2, …, n 中 n 個數的序列,找出 0 … n 中沒有出現在序列中的那個數。 示例 1: 輸入: [3,0,1] 輸出: 2 示例 2: 輸入: [9,6,4,2,3,5,7,0,1]

原创 用c#每日更換“必應背景圖片”爲“桌面壁紙”

必應每天都會更換背景圖片,都非常漂亮,有的時候還十分驚豔,同時還會根據每個地區的特色不同應用不同的圖片。 下面用c#抓取必應每天的背景圖片,並實現桌面壁紙的每天自動切換 實現思路 1.通過獲取“必應”網頁背景圖片URL 2.下

原创 LeetCode:有效的括號

目錄題目內容解題解題思路代碼實現改進改進思路代碼實現 題目內容 給定一個只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判斷字符串是否有效。 有效字符串需滿足: 左括號必須用相同類型的右括號閉合。 左括號必須

原创 解決ASP.NET MVC返回的JsonResult 中 日期類型數據格式問題,和返回的屬性名稱轉爲“駝峯命名法”和循環引用問題

目錄DateTime類型數據格式問題C#對象屬性名稱轉換成JSON自動轉成“駝峯命名法”MVC 默認的返回JsonResult在序列化有循環引用對象時候會出現異常解決辦法創建新的 JsonResult 對象使用新的 JsonRes

原创 LeetCode:帕斯卡三角形

目錄題目內容解題思路代碼實現 題目內容 給定一個非負整數 numRows,生成楊輝三角的前 numRows 行。 在楊輝三角中,每個數是它左上方和右上方的數的和。 示例: 輸入: 5 輸出: [ [1], [

原创 LeetCode:漢明距離

標題題目內容解題方式一解題方式二 題目內容 兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。 給出兩個整數 x 和 y,計算它們之間的漢明距離。 注意: 0 ≤ x, y < 231 示例: 輸入: x =

原创 CodeCarvings.Piczard 實現給圖片加水印和生成縮略圖(c#)

目錄CodeCarvings.Piczard 組件NuGet 安裝生成縮略圖加水印加文字水印加圖片水印封裝的擴展方法擴展方法代碼DEMO代碼生成縮略圖加文字水印加圖片水印 CodeCarvings.Piczard 組件 這個組件比

原创 LeetCode:位1的個數

目錄題目內容解題解題思路代碼實現 題目內容 編寫一個函數,輸入是一個無符號整數,返回其二進制表達式中數字位數爲 ‘1’ 的個數(也被稱爲漢明重量)。 示例 1: 輸入:000000000000000000000000000010

原创 EF導航屬性使用常見異常

目錄一、異常 The ObjectContext instance has been disposed and can no longer be used for operations that require a connect

原创 LeetCode:羅馬數字轉整數(c#)

文章目錄題目內容解題解題思路代碼實現一代碼實現二 題目內容 羅馬數字包含以下七種字符: I, V, X, L,C,D 和 M。 字符 數值 I 1 V 5 X