(72)程序:乙個程式的動態執行過程。
(73)process
類:程序類
(74)前台程序和後台程序:所有前台程序停止時,後台程序自動停止。
(75)cpu執行速度快,i/o介面速度慢,充分利用cpu完成其他操作的同時,
可以開個執行緒給i/o介面(比如:鍵盤輸入)。
(76)thread
類:
//常用的兩種過載形式:
public
thread
(threadstart start)
public
thread
(parameterizedthreadstart start)
//兩個引數對應的委託宣告形式如下:
public
delegate
void
threadstart()
;public
delegate
void
parameterizedthreadstart
(object obj)
;
建立執行緒:
class
treadtest
//利用上面兩個委託完成建立執行緒的準備工作:
treadtest tt =
newthreadtest()
; threadstart =
newthreadstart
(tt.m1)
;//m1,m2都是乙個實現邏輯的方法
parameterizedthreadstart pts =
newparameterizedthreadstart
(tt.m2)
;//建構函式建立執行緒:
thread t =
newthread
(ts)
;thread tp =
newthread
(pts)
;
啟動執行緒:
t.
start()
;
tp.
start()
;
優先順序:
t.priority = threadpriority.lowest;
tp.priority = threadpriority.highest;
//優先順序高的執行次數多一點,但不是保證兩者的執行完順序。
後台執行緒:
t.isbackground =
false
;
終止執行緒:
thread.currentthread.
abort()
;
暫停執行緒:
sleep()
;//單位ms
t.
join()
;
tp.
join()
;
mau.
set();
//變為又訊號狀態,即執行
mau.
reset()
;//變為無訊號狀態,即不執行
autoresetevent
:自動同步事件。
(72) 執行緒池:用於在後台執行多個任務的執行緒集合。(避免頻繁建立銷毀浪費大量資源)
queueuserworkitem()
;//將方法排隊等待執行,方法在有空的時候執行。
(73)序列化:將物件的狀態轉換成適合保持或者傳輸的過程。(物件—>流)
(74)序列化和反序列化的結合可以實現物件的儲存和物件的傳輸。
(75)二進位制序列化:[serialisable]
,binaryformatter
。
void
serialize
(stream s,
object o)
;//將物件o序列化到流s中
object deserialize(stream s)
;//從流讀取資料並且反序列化成物件
(76)soap序列化,xml序列化:用於將物件換為網路容易傳輸的格式。
(77)memorystream
:序列化到記憶體流。
(78)deflatestream
:無失真壓縮和解壓的行業標準演算法。
//待解壓縮的流,列舉確定解壓(compressionmode.decompress)還是壓縮(compressionmode.compress)
public
deflatestream
(stream stream,
compressionmode mode)
;
方法write()
:
//array存放 待壓縮的位元組資料,offset偏移量決定這個陣列從哪個位元組開始壓縮,count決定讀多少個位元組去壓縮。
public overrride void
write
(byte
array,
int offset,
int count)
方法read():
//array存放 解壓後的臨時資料,offset偏移量決定這個陣列從哪個位元組開始存放,count決定讀多少個位元組
public overrride int
read
(byte
array,
int offset,
int count)
;
(79)using
的作用:
作為匯入命名空間的指令:using system;
定義語句模組,以自動釋放資源:
using
(class
class
=new
class()
)//資料庫,檔案i/o操作
定義簡短命名空間的別名:
//之後就可以用wordns代替microsoft.office.interop.word
using wordns = microsoft.office.interop.word;
(79)sql:用於訪問和處理資料庫的標準計算機語言。
(80)sql含三部分:定義(create
等),操作(insert
等),控制(grant
等)
(89)記錄:表的每一行,即稱為一條記錄。
(90)建立資料庫:create database databasename
(91)建立表:create table tablename{}
(92)insert
:新增資料記錄。
(93)select
:查詢資料。
(94)order by
:排序。
(95)where
:過濾。
(96)update
:修改記錄。
(97)delete
:刪除部分或者全部記錄。
索引方式:dataset.tables[i];
名稱方式:dataset.tables[「tablename」];
(107)讀取table中的行:
datarow dr = table.row[i]
;//i>=0
(108)讀取table中的列:
dr.columns[i]
.tostring()
;dr.columns[「fieldname」]
.tostring()
;
(109)列的建立:
datacolumn dc =
newdatacolum
(「fieldname」,
typeof
(type));
//例項化
table.columns.
add(dc)
;//新增
(108)行的建立:
datarow row = table.
newrow()
; table.row.
add(row)
;//table為datatable物件
到這就結束了,因為網上的教程有很多,所以我只是把大概的方法概念羅列了一下,方便學完c++,c的同學進一步學習c#。 C 對C的拓展
目錄 一 bool型別關鍵字 二 引用 三 輸入輸出 四 函式引數 五 string類 六 左值 c 在c語言的基礎型別上新增了布林型別 bool bool可取的值有兩個 true false,占用乙個位元組。true代表真值,編譯器內部用1來表示 false代表非真值,編譯器內部用0來表示。inc...
C 對C的函式拓展
一,內聯函式 1.內聯函式的概念 c 中的const常量可以用來代替巨集常數的定義,例如 用const int a 10來替換 define a 10。那麼c 中是否有什麼解決方案來替代巨集 片段呢?c 中推薦使用內聯函式代替巨集 片段,c 中使用inline關鍵字宣告內聯函式。注意 內聯函式宣告時...
c 對c的拓展 增強
一 新增bool型別關鍵字 c中bool型別需要新增stdbool.h標頭檔案,c 則可直接使用 void test bool a true c 可直接定義而c需新增標頭檔案 true和false可直接用做常量使用 二 三目運算子 c 中返回的可以是個變數,但c語言中返回的表示式的值是乙個常量 vo...