在 .Net 的環境下 資源的回收 是比較簡單的,但相對的簡單 也是需要付出一定的代價( 記憶體)
如何讓程式寫得更簡捷 有力是每個程式設計師 最基本的工作
在 .Net 回收 記憶體中的垃圾 除了交由系統本身外
目前分類:C#.NET and VB.NET (51)
- Nov 27 Sun 2011 23:01
Using 與 文字的寫入
- Nov 27 Sun 2011 22:35
FileStream 不影響 原圖檔或文字的 開啟方式
在 .Net 下 不論讀文字或 圖檔 都相當方便
但如果值接用相對應的 物件 讀取,如果只是單執行緒開啟 或 不會共用此檔案 就沒有甚麼影響
如
Dim str as string = IO.File.ReadAllText("路徑 ")
- Nov 13 Sun 2011 11:07
事件--手動宣告加入事件設定
以 BackGroundWork 為例,用文自宣告的方式 加入事件
C# 在手動宣告物件時,事件建立的方式上與 VB.Net 最大的不同是 必須自行手動加入
(VB.Net 在宣告時加入 WithEvents 就可以在上方用拉取的方式加入)
- Oct 30 Sun 2011 19:06
修改 Form表單上的物件的形狀
在 VB6的軟體中,有個很好用的原件 叫 shape. 到了 .Net 下就消失不見了
雖然後來有推個 VisualBasicPowerPacks
但有用過的人都知道,真的很不好用
尤其在排版實不能最上層顯示,常常被其他物件給遮住,跟過去VB6下真的很大的不同
- Oct 23 Sun 2011 22:20
自定義物件 List.Sort()
但如果裡面的資料不是 數字型態,要他們作 sort() 往往會作出不符合需求的排序
甚至作不出來(自定義的 class 要繼承
IComparable
但這是一件很麻煩的事)並不是每一個 class 都要發展成 完美或者一個很龐大的物件
- Oct 23 Sun 2011 14:58
檢查 及 呼叫 外部程式(process)
首先 Import System.Diagnostics
在來讓我們來檢查 目前 正在執行的程式中是否有我們要的程式
此時有兩種檢查方式
- Oct 13 Thu 2011 23:07
Interface 與 DLL 動態聯結運用
運用 interface 與 DLL 動態聯結的運用 最大的好處是 當DLL 更新的時候 整個程式不需要重新編譯就可以直接使用
這用在 DLL 更新時是一個很方便的地方
但有個先決條件, Interface 必須先定義好,因為如果後續要增加 任何的 sub Function 也是一樣必須重新編譯
- Oct 13 Thu 2011 23:06
XML 與 Linq (二) 將查詢的資料存入自訂一物件,加快查詢後的資料運用
Linq 與 XML 是一個很好的搭配
但在某些情況之下,會照成效能的浪費,這種特定情況就是當查詢的時後原先XML檔案很大( >10MB)
然後在使用Linq 時 用的又是隱涵數查詢(沒有宣告物件)
例
- Oct 13 Thu 2011 23:04
For Each 與 GetType.Fields 運用
在 .Net 的環境下,所有的 Class (類) 都延伸自 Syatem.Object
而在 Object 下有些基本 Function
其中 GetType 是一個非常豐富的 資料集合,透過 GetType 可以 取出物件中非常多 的資料
- Jun 19 Sun 2011 22:34
委派其實很簡單(二)---跨執行緒
在第一篇 委派其實很簡單(一)介紹了委派的基本應用
相信很多人也聽過 跨執行緒時,需要用委派來處理,由其針對會改變Form表單上得資料時,更是必要
首先讓我們來做些小小的改變
在 TimerClock 的Class 我們把Timer的宣告做了改變
- Jun 15 Wed 2011 09:04
委派其實很簡單(一)
委派 說難不難,了解之後 使用就跟喝開水一樣,裝水 之後就喝水了
整個的動做可以分成兩個大部分,每個部分可以再分成兩個
大的可以分成 電台 與 收音機 兩者發送與接收在同一頻道的時候 收音機就可以撥放出電台傳送的音樂
電台可以細分為 發設機 與 發設天線
收音機可以細分為 機身 與 接收天線
- May 25 Wed 2011 23:33
List 資料的查詢 用 Find 方法
網路上有許多篇相關的資料 但美中不足的都是 C#的文章
今天剛好遇到新的課題,發現用List.Find 剛好符合,可以來試試
- Mar 24 Thu 2011 20:30
With 與 美化DataGridView
With 是 Vb.Net 與 C# 少數不同的語法,繼承自 VB6 是一個很好用的功能
最常用在同一個物件要做不同設定的時候
一起展示 與 DataGridView 的美化設定
- Mar 24 Thu 2011 20:12
XML 與 Linq 的結合一 之Xelement
小小抱怨一下..
Linq 在.Net下的查詢,可以說是省去過去許多麻煩的事情
XML 是一種可以跨平台傳遞資料,很方便的一種文字檔
- Jan 25 Tue 2011 23:33
.Net 下的時間格式
Date 的時間格式化
在 .Net 要將時間轉換為字串已經不需要再由 String.Format 的方式 還要背許多的時間格式
Dim time as string = Now.toString("" yyyyMMdd hh:mm:ss:fffff ")
在 ToString() 裡可以設定所需要的時間格式
- Jan 11 Tue 2011 23:16
Form Show 與 ShowDialog 的比較
Show() :單純開啟另一個 Form表單,還是可以對原表單做動作 除非設 TopMost 與 把原表單的 Enable 設為False
showDialog() :強化型Form表單開啟,開啟後 原表單不可執行動作,在關閉時可以設定回傳訊息
首先在 被開啟的 Form 表單設定回傳事件
- Jan 06 Thu 2011 21:27
Queue and Stack
佇列(Queue)是用先進先出的方式處理物件的集合,例如到銀行排隊,先排的人先處理;而堆疊(Stack )是後進先出的集合,例如玩撲克牌排遊戲時,發牌時是從整疊的最上一張拿取。
佇列(Queue)常用的方法如下
名稱 | 說明 |
Count | 取得佇列中目前的項目數量 |
Dequeue | 從佇列前端取出一個項目,同時將其移除 |
Enqueue | 從佇列尾端加入一個項目 |
Peek | 從佇列前端取出一個項目,但不移除 |
堆疊(Stack)常用的方法如下
名稱 | 說明 |
Count | 取得堆疊中目前的項目數量 |
Pop | 從堆疊最頂端取出一個項目,同時將其移除 |
Push | 從堆疊最頂端加入一個項目 |
Peek | 從堆疊最頂端取出一個項目,但不移除 |
- Dec 31 Fri 2010 15:43
Garbage Collector
.Net 下的 垃圾回收 Garbage Collector (簡稱 GC)
在 .Net下 記憶體的回收,一般來說都是由 CLR 來決定何時回收,但 測試結果 大多是記憶體快滿的時候才會做回收的動作
- Dec 26 Sun 2010 21:44
Constractors 構造器(二)
Constructors 有多型
可用 this 調用另一個構造器,依 Java 的概念,使用 Constructors 時 要多宣告一個無參數引入
避免 出錯
class Employee{
- Dec 26 Sun 2010 21:22
Constractors 構造器(一)
在自定義 Class 中,當 New 出一個新的物件時,如果裡面有 必須要初始的值,沒有初始化的話
在Complier 時 會過,但在執行到需要此變數資料時,就會發生錯誤
如
class Employee
{