原文:《Effective C#》讀書筆記——條目8:推薦使用查詢語法而不是循環

查詢語法 query syntax 可以讓程序邏輯的表達由 命令式 轉換為 聲明式 。查詢語法定義了想要的結果,而把具體實現交給其他的專門實現。使用查詢語法 實現了查詢表達式模式的方法語法也可以 要比傳統的命令式循環結果更加清晰的表達你的意圖。 下面我們觀察一個使用命令式方法填充一個數組,然后將其內容輸出至控制台: 編寫命令式的代碼需要關注具體的實現細節。但是如果采用查詢語法,實現同樣的功能,代 ...

2012-09-01 21:19 10 2344 推薦指數:

查看詳情

Effective C#讀書筆記——條目10:使用可選參數減少方法重載的數量<C#語言習慣>

  C#4.0 引入了具名參數(MSDN翻譯為“命名實參”,個人認為具名參數更形象,可選參數亦是)和可選參數(可選實參)。客戶端代碼使用具名參數意味着:方法中的參數名稱也成為了公有接口的一部分。假如修改公有參數的名稱將有可能破壞調用者的代碼。這意味着:調用者應該盡可能的避免使用具名參數 ...

Mon Oct 08 05:54:00 CST 2012 2 2628
Effective C#讀書筆記——條目6:理解幾個等同性判斷之間的關系<C#語言習慣>

  創建自定義的類型時(無論是類還是struct),應為類型定義”同等性“的含義。在C#中為我們提供了四種不同的函數來判斷兩個對象是否”相等“: 引用相等和值相等   C#允許我們創建兩種類型:值類型和引用類型。如果兩個引用類型的變量指向的是同一個對象,它們將被認為是“引用相等 ...

Sat Sep 01 22:26:00 CST 2012 5 1740
Effective C#讀書筆記——條目11:理解短小方法的優勢<C#語言習慣>

  在應用程序開發過程中,開發者都力求寫出更加高效的代碼。但是當你想手工為C#編譯器優化代碼時,你的種種優化可能反倒會阻礙JIT進行更加高效的優化。因此,我們最好盡可能的寫出最清晰的代碼,將優化工作交給JIT編譯器去完成。   在.NET平台下開發程序的開發者都應該知道:.NET運行時將調用 ...

Tue Oct 09 07:14:00 CST 2012 5 1981
Effective C#讀書筆記——條目22:通過定義並實現接口替代繼承<使用C#表達設計>

  接口是一種按照契約設計的方式,一個類型必須實行接口中定義的方法。抽象基類則為一組相關的類型提供了一個共有的抽象。要注意二者的使用場景和區別:基類描述了對象是什么;接口描述了對象將如何表現行為。 1.關於接口   接口描述了一組功能,是一個契約,任何實現接口的類型必須為接口中定義 ...

Wed Jan 16 06:38:00 CST 2013 9 2376
Effective C#讀書筆記——條目12:推薦使用成員初始化器而不是賦值語句<.NET資源管理>

  一般情況下,一個類都會有多個構造函數。隨着時間的推移,成員變量、構造函數不斷增加。為了處理這種情況最方便的辦法就是:在聲明變量的時候進行初始化,而不是在每個構造函數中進行。無論是類成員(靜態變量)合適實例變量,我們都應該充分利用初始化器的語法。   C#編程在,一般在聲明一個變量 ...

Wed Nov 07 05:59:00 CST 2012 3 2640
Effective C#讀書筆記——條目17:實現標准的銷毀模式<.NET資源管理>

  如何為我們自己的包含非托管資源的類型編寫資源管理代碼呢?在 .NET 中為我們提供了一種標准的銷毀非托管資源的模式,這個標准的模式能夠使使用者通過調用IDisposable接口正常釋放掉非托管資源,也能夠保證使用者在忘記釋放資源時使用終結器釋放。這個標准模式可以和GC配合,保證僅在最糟 ...

Fri Nov 30 17:33:00 CST 2012 7 1634
[.NET] 《Effective C#》快速筆記(一)- C# 語言習慣

Effective C#》快速筆記(一)- C# 語言習慣 目錄 一、使用屬性而不是可訪問的數據成員 二、使用運行時常量(readonly)而不是編譯時常量(const) 三、推薦使用 is 或 as 操作符而不是強制類型轉換 四、使用 Conditional ...

Mon Apr 24 16:33:00 CST 2017 16 6891
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM