C實驗委託 事件與繼承

2021-03-25 05:56:24 字數 1881 閱讀 2297

一、實驗目的

1. 掌握擴充套件函式的用法;

2. 掌握c#委託和事件的用法;

3. 掌握c#繼承和多型概念;

4. 掌握常用介面的使用方法。

二、實驗內容

(實驗過程中編寫的程式複製到本檔案中,下課整理後上交)

1. 編寫乙個靜態類myextensions,擴充套件.*** framework基本型別的功能。

1)定義乙個擴充套件方法ispalindrome,擴充套件string類的功能,來判斷字串是否為回文(指順讀和倒讀內容都一樣的文字)。為提高程式效率,該方法中不能直接呼叫reverse方法。

2)定義乙個擴充套件方法reversedigits,允許int將自己的值倒置,例如將整型1234呼叫reversedigits,返回結果為4321。

using system;

using

using system.linq;

using system.text;

using system.threading.tasks;

namespace experiment2

public static int reversedigits(this int num)

}class program

}}2. 應用委託和泛型集合類知識,完成以下程式。

程式框架:

源程式2:

using system;

using

using system.linq;

using system.text;

using system.threading.tasks;

namespace experment2_2;

生成委託例項

numberpredicate evenpredicate = iseven;

利用委託變數呼叫iseven

console.writeline( "call iseven using a delegate variable: ",evenpredicate(2));

選出偶數

list< int > evennumbers = filterarray( numbers, evenpredicate );

描述並輸出

displaylist( "use iseven to filter even numbers: ", evennumbers ); //濾過

選出素數並輸出

numberpredicate primepredicate = isprime;

list prime = filterarray_prime(numbers, primepredicate);

displaylist_prime("use isprime to filter even numbers: ", prime);

}private static list< int > filterarray( int intarray,numberpredicate predicate )

private static list< int > filterarray_prime( int intarray,numberpredicate predicate )

//偶數判斷函式

private static bool iseven( int number )

//判斷是否素數

private static bool isprime( int number )

//列表元素輸出

private static void displaylist(string description, list list)

{console.write(description);

foreach (int number in list)

console.write(number + " ");

C委託事件

有事件,就會有對事件進行處理的方法,而事件和處理方法之間是怎麼聯絡起來的呢?委託就是他們中間的橋梁,事件發生時,委託會知道,然後將事件傳遞給處理方法,處理方法進行相應處理。事件的型別一定是委託,委託為引發事件的類擔當事件傳送器的角色 比如在winform中最常見的是按鈕的click事件,它是這樣委託...

C委託與事件

我們拋棄各種c 參考書中桀驁難懂的事件與委託概念,設想乙個情景來理解事件與委託的使用 有一家it公司,董事長不希望自己的雇員在上班時間玩遊戲,但又不可能每時每刻都盯著每個雇員,因此,他希望使用一種新的方式實現監視雇員的效果 如果有雇員違反規定,某個裝置或專門的監查人員將自動發出乙個訊息通知他,董事長...

c委託與事件詳解

c 委託與事件詳解.txt花前月下,不如花錢 日 下。葉子的離開,是因為風的追求還是樹的不挽留?乾掉熊貓,我就是國寶!別和我談理想,戒了!委託和事件在 framework中的應用非常廣泛,然而,較好地理解委託和事件對很多接觸c 時間不長的人來說並不容易。它們就像是一道檻兒,過了這個檻的人,覺得真是太...