自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

概述C#事件驅(qū)動程序

開發(fā) 后端
本文介紹C#事件驅(qū)動程序這個詞兒對于初學者來說,往往總是顯得有些神秘,不易弄懂。而這些東西卻往往又是編程中常用且非常重要的東西。

C#事件驅(qū)動程序這個詞兒對于初學者來說,往往總是顯得有些神秘,不易弄懂。而這些東西卻往往又是編程中常用且非常重要的東西。大家都知道windows消息處理機制的重要,其實C#事件就是基于windows消息處理機制的,只是封裝的更好,讓開發(fā)者無須知道底層的消息處理機制,就可以開發(fā)出強大的基于事件的應用程序來。

先來看看事件編程有哪些好處。

在以往我們編寫這類程序中,往往采用等待機制,為了等待某件事情的發(fā)生,需要不斷地檢測某些判斷變量,而引入事件編程后,大大簡化了這種過程:

◆使用事件,可以很方便地確定程序執(zhí)行順序。

◆當C#事件驅(qū)動程序等待事件時,它不占用很多資源。C#事件驅(qū)動程序與過程式程序***的不同就在于,程序不再不停地檢查輸入設備,而是呆著不動,等待消息的到來,每個輸入的消息會被排進隊列,等待程序處理它。如果沒有消息在等待,則程序會把控制交回給操作系統(tǒng),以運行其他程序。

◆事件簡化了編程。操作系統(tǒng)只是簡單地將消息傳送給對象,由對象的C#事件驅(qū)動程序確定事件的處理方法。操作系統(tǒng)不必知道程序的內(nèi)部工作機制,只是需要知道如何與對象進行對話,也就是如何傳遞消息。

有了這么多好處,看來我們的確有必要掌握它。俗話說:“難了不會,會了不難”。就讓我們一步一步開始吧...

要講事件,必然要講到委托(delegate)。它們之間的關系可以通過一個淺顯的比方來說明,這個比方可能不是十分恰當。比如你要租一個房屋,這是一個事件,那么委托就是房屋租賃中介,當你把租房子的消息告知中介后,中介就會產(chǎn)生出一套符合你要求的房屋租賃方案來。再由中介執(zhí)行這套方案,你便租得了這個房屋,即事件被處理了。當然你也可以不通過中介,直接找房東,但如果沒有互聯(lián)網(wǎng)等工具,你如何得到誰出租房屋的信息?話題扯遠了。

委托(delegate)
委托可以理解成為函數(shù)指針,不同的是委托是面向?qū)ο螅沂穷愋桶踩?。關于委托的理解,可以參考我的另一篇文章《C#委托之個人理解》。

【編輯推薦】

  1. 定義C#接口學習經(jīng)驗
  2. C# ListBox學習筆記
  3. 操作C# Dataset介紹
  4. C# ODBC訪問MySQL數(shù)據(jù)庫
  5. 淺析C#和Java不同點
責任編輯:佚名 來源: BlogJava
相關推薦

2009-08-24 14:19:27

C# Windows應

2009-07-06 18:17:46

JDBC驅(qū)動程序

2009-08-12 18:28:09

C#事件處理程序

2024-06-28 10:19:02

委托事件C#

2010-01-07 13:27:22

Linux驅(qū)動程序

2017-03-03 08:40:32

2011-01-10 18:21:38

linux編寫程序

2009-08-18 17:29:02

C#使用指針

2009-08-18 09:26:07

C#線程功能

2009-08-13 15:18:23

C#文件上傳

2009-08-31 09:44:23

C# Employee

2009-07-31 14:08:54

C# 匿名函數(shù)

2009-09-03 11:15:38

C#設置Coopera

2009-08-25 10:08:39

C# MyData對象

2009-08-19 11:09:00

C# Cast<T>

2009-08-24 18:09:13

C#構造函數(shù)

2009-08-20 16:28:45

C#匿名方法

2009-08-25 16:49:44

C#使用if語句

2009-08-17 09:57:00

C# Windows

2009-09-03 10:42:16

C# Employee
點贊
收藏

51CTO技術棧公眾號