C 的一些必備技術

2022-05-05 15:33:11 字數 3026 閱讀 3306

一些c#中比較重要的技術的基本使用方法和條件...

hashtable、timer、thread、webservice...

hashtable:

hashtable,可用於儲存鍵值對,基本使用如下:

1

//建立新的hashtable物件

2 hashtable ht = new

hashtable();34

//新增鍵值對

5 ht.add('

a', "

add"

);6 ht.add('

b', "

back");

7 ht.add('

c', "

call");

89//顯示key值為『c』對應的value

10 messagebox.show(ht['c'

].tostring());

1112

//迴圈訪問ht中的值

13foreach (dictionaryentry de in

ht)14

timer:

定時器,可以用於重複一定時間執行某一段**,或是定時執行某一段**:

1、winform中可以直接新增timer控制項,然後在它的事件中執行想要執行的**:

屬性配置:

事件函式:

1

private

void timer1_tick(object

sender, eventargs e)

2

2、直接使用timer類:

命名空間:system.threading(除了這個命名空間,還有其他命名空間也含有timer類的定義);

1

//設定呼叫時間

2public

void starttimer(int

duetime)39

10private

void timerproc(object

state)

11

此外,還可以設定timer的許多屬性,可以直接使用timer物件設定。

thread:

執行緒,應用命名空間system.threading:

基本使用方法:

1

//定義乙個執行緒物件td,threadcallback為其呼叫函式

2 thread td = new

thread(threadcallback);3//

啟動執行緒

4 td.start();

threadcallback函式定義:

1

//無引數,無返回值

2private

void

threadcallback()

3

給執行緒傳遞資料:

使用帶parameterizedthreadstart委託引數的建構函式;

建立乙個自定義類,把執行緒的方法定義為例項方法,這樣就可以初始化例項的資料,之後啟動執行緒。

後台執行緒:

使用thread類時,設定isbackground屬性即可。

執行緒的優先順序:

使用thread類時,設定priority屬性。

webservice:

在c#的winform程式中新增asp.net web服務。

1、建立乙個乙個asp.net web服務

新增乙個簡單函式:

1

[webmethod]

2public

string setstringandgetstring(string

sstr)

3

可以執行測試一下,看是否正確。

2、在winform程式中新增服務引用,點選發現,選擇服務,並將命名空間改為myservicereference(根據自己需要修改名稱),確定。

3、呼叫:

直接呼叫:

//myservicereference就是引用的命名空間,定義乙個webservicesoapclient物件,然後用該物件呼叫自己定義的web服務函式。

1 myservicereference.webservicesoapclient client = new

myservicereference.webservicesoapclient();

2 tbgetstring.text = client.setstringandgetstring(tbsetstring.text.tostring());

非同步呼叫:

選擇服務引用myservicereference,開啟關聯選單,選擇configure service reference,開啟對話方塊,在service reference setting對話方塊中選中generate asynchronous operations核取方塊(選擇非同步呼叫)。

1         myservicereference.webservicesoapclient client = new

myservicereference.webservicesoapclient();

2 client.setstringandgetstringcompleted +=new eventhandler(client_setstringandgetstringcompleted);

3 client.setstringandgetstringasync(tbsetstring.text);

1

//非同步呼叫

2private

void client_setstringandgetstringcompleted(object

sender, myservicereference.setstringandgetstringcompletedeventargs e)

3

將e.result中的呼叫結果返回.

一些技術書籍

今天下班回來時順便去那個熟悉的舊書攤逛了逛,竟有意外驚喜。之前曾在那裡淘過不少好書,編譯原理 5塊,加密與解密 10塊。比 還便宜不少,而且還是正版書!剛看了看,猛然發現一本好書 資料結構 c 語言描述,近九百頁磚頭般的好書,原價近百塊,老闆開價15塊,大喜,但不能表現出來,還留著砍價的。後來又看上...

nginx一些技術

proxy ignore client abort on autoindex on 開啟目錄瀏覽功能 autoindex localtime on 開啟以伺服器本地時區顯示檔案修改日期 autoindex exact size off 關閉詳細檔案大小統計,讓檔案大小顯示mb,gb單位,預設為b l...

一些技術觀點

1.開源的缺點 在目前看來,開源的目的是分享與反饋。1.如果沒有反饋,這個開源就等於白開了,除非僅僅是想分享。2.如果是商業產品開源,就會暴露裡面的缺點,可能遭受攻擊。3.從利益來講,開源之後就不再是自己的固有資產。2.外包觀點 專案外包是極不靠譜的,只有自己的東西才是靠譜的。3.創業觀點 創業的成...