在.Net Framework Class Library(FCL)中,System.Threading命名空間下定義了一個Timer類,這就是常用的一個計時器。實際上FCL總共提供了如下幾種計時器:1、System.Threading.Timer在實際的開發中,這個類出現和使用頻率非常高,下面就重點談談它的一些基礎概念和應用執行個體。(1)、常用的構造器 public Timer(TimerCallback callback, object state, int dueTime,
下面這個是筆者在以前的一個項目中用到的。當時是為了在匯出excel報表的時侯,通過自訂特性,包含一些可配置的特性在裡面。具體的操作excel不是本文重點,本文不會多做說明。下面唯寫個樣本,簡單說明一下如何通過反射擷取自訂特性。樣本只在類和屬性上使用了自訂特性。讀者可以按照實際的項目需求,合理使用自訂特性。1、實現實體自訂特性,繼承自Attribute類CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http:
相信很多有過面試經曆的開發人員都在面試的時候被問及到.net比較底層的東西,如程式在底層是怎麼啟動並執行?筆者就遇到過面試官問反射的機制是什嗎?當時確實答的一塌糊塗,但是有幸還是找到了一份不錯的工作。在工作中猛然覺醒,是時候(有一定的開發基礎)有必要瞭解一些.net啟動並執行機制了,在買了一本CLR Via C#的書並在細細品味了第一章之後,決定把所學到的東西與大家進行分享,雖然之前都知道的知識,但是還是讓我學到了很多的東西。可能總結的過程中還是有些不對的地方,希望各位看官能指出,
在豆瓣上看到一篇關於拿破崙的翻譯,文科生的翻譯有幾段相當傳神,不得不佩服漢語的強大。有好事者還用程式語言實現了一下,現已有java、python和html的版本,我也來寫個渺小的C#版本,運行結果和java版是一致的,但是本文的這個稍作抽象(java版的我不覺得有多好,甚至應該說寫得真爛),更符合C#程式員的閱讀習慣。貼代碼先:【渺小滴C#版(知道運行結果又如何)】Code highlighting produced by Actipro CodeHighlighter
用遞規與分治策略,找出數組中最大元素的位置。就問題本身而言,很簡單,並且有很多種更高效的實現方法,本文意在介紹遞規與分治的思想。原始碼:/***用分治法找出數組中最大元素的位置*/public class MaxPosition{static int MaxElePosition(int[] a, int l,int r){if(l < r){int mid = (l+r)/2;int x = MaxElePosition(a, l, mid);int y =
c#和.net基類為開發多線程應用程式提供了強大的支援。下面是我看書和結合網上的一些資源整理出來的筆記。因為線程相關的知識比較繁雜和高深(並且本人開發經驗欠缺),所以寫的很淺顯甚至幼稚,理解不妥之處在所難免。1.怎樣建立一個線程(常用的建立方式)CodeCode highlighting produced by Actipro CodeHighlighter
關於在C#中使用 “欄位編輯器” 的說明當需要在一個類中使用某個欄位並進行get和set時,在java中我們通常的辦法是首先定義相應的屬性,如:name,然後添加對應的getter和setter方法,以得到封裝屬性,暴露方法的目的。在C#中有一種比較簡便的方法做到,例如在一個類中有name,age,team三個欄位(屬性),那麼我們可以這樣定義:public String Name {set;get;} public int Age {set;get;}public String Team
好好學習底層運行機制,從CLR via C# 開始。CLR的執行模型: CLR:Common Language Runtime,是一個可由多種程式設計語言使用的“運行時”。CLR的核心功能(比如記憶體管理、程式集載入、安全性、異常處理和線程同步)可由面向CLR的所有語言(C#,Visual Basic,F#等)使用。1.將原始碼編譯成託管模組: