iT邦幫忙

鐵人檔案

2009 iT 邦幫忙鐵人賽
回列表

.NET程式效能Issue 系列

改變.NET程式寫作的習慣,為程式提供更好的效能。

參賽天數 11 天 | 共 11 篇文章 | 7 人訂閱 訂閱系列文 RSS系列文
DAY 1

[Day 1][C#]Effective C# 條款一: 使用屬性代替公有欄位

為何要用屬性來替代公有欄位主要有下列幾項原因: 1.符合物件導向封裝概念 2.支援資料繫結 3.具修改彈性 符合物件導向封裝概念 屬性是對取得/修改內部數據的方...

2009-10-13 ‧ 由 larrynung 分享
DAY 2

[Day 2][C#]Effective C# 條款二: 運行時常數優於編譯時常數

.NET中有兩種不同的常數機制:一種是編譯時(Compile-Time)常數,一種是運行時(Runtime)常數。 編譯時常數 編譯時常數是透過Const關鍵字...

2009-10-14 ‧ 由 larrynung 分享
DAY 3

[Day 3][C#]Effective C# 條款三: 運算子is或as優於強制轉型

對C#而言,在做型別轉換時,撇開一些型別有提供Parse可供轉型外,通常我們有兩種選擇:一種是利用as運算子、一種則是強制轉型。作型別轉換時,應盡量採用as運算...

2009-10-15 ‧ 由 larrynung 分享
DAY 4

[Day 4][C#]Effective C# 條款四: 使用ConditionalAttribute替代#if條件編譯

Introduction 相信大多數的C#使用者,尤其是碰過C語言的開發者,多多少少應該都有用過#if/#endif條件編譯。#if條件編譯通常是用來讓同一份代...

2009-10-16 ‧ 由 larrynung 分享
DAY 5

[Day 5][C#]Effective C# 條款五: 總是提供ToString方法

ToString方法昰.NET程式中最常用的方法。除了開發人員直接叫用外,.NET程式在某些情況下也會隱含叫用該方法。 在未做覆寫處理的狀態下,我們呼叫ToSt...

2009-10-17 ‧ 由 larrynung 分享
DAY 6

[Day 6][C#]Effective C# 條款六: 明辨值類型與參考類型的使用場合

在C++中,所有類型都被定義為值類型,但可以自行選擇建立他們的參考形式;在JAVA中,所有自定義的類別都為參考類型。而在C#中,我們必須在設計類型的時候決定類型...

2009-10-18 ‧ 由 larrynung 分享
DAY 7

[Day 7][C#]Effective C# 條款七: 將值類型盡可能實現為具有常量性與原子性的類型

Introduction 當程式決定使用值類型來開發時,請優先考慮將值類型實現為具備常量性與原子性的類型。因為具有常量性的類型可讓程式較為容易編寫與維護,也較容...

2009-10-19 ‧ 由 larrynung 分享
DAY 8

[Day 8][C#]Effective C# 條款八: 確保0為值類型的有效狀態

.NET程式在物件初始時,變數初始器會將成員變數做初始化的動作。對於值類型的成員變數來說,會被初始為0值。因此我們應將0視為值類型的默認值。 以列舉型別來看,假...

2009-10-20 ‧ 由 larrynung 分享
DAY 9

[Day 9][C#]Effective C# 條款九: 理解幾個相等判斷之間的關係

C#提供了四種不同的函式來判斷兩個物件是否相等: public static bool ReferenceEquals(object left, obje...

2009-10-21 ‧ 由 larrynung 分享
DAY 10

[Day 10][C#]Effective C# 條款十: 理解GetHashCode()方法的缺陷

GetHashCode對於參考類型來說,可以正常運作,但其效率很低。而對於值類型來說,其實現通常是不正確的。 GetHashCode若要重新定義,我們必須要遵循...

2009-10-22 ‧ 由 larrynung 分享