C 多個class之間共享或修改變數

2021-10-10 02:32:04 字數 983 閱讀 1260

目前有class a和class b兩個類,需求是想要將class a中的變數傳給class b,然後在class b中更改class a傳過來的變數。期望當class b修改完class a傳來的變數後,class a中的變數值也發生相應的變化。

為了實現這個操作,最直接的想法是定義乙個全域性變數,這樣class a和class b都能直接對它進行更改。但是c#中沒有了c++全域性變數的概念,所有變數都得放在某乙個類裡面,因此全域性變數得放在乙個大家都能訪問到的類裡面

再定義乙個class c,在class c中定義乙個靜態變數,這樣class a與class b都能對這個靜態變數進行訪問和更改。

在class a中宣告靜態變數,並定義乙個public方法。class a將待處理的資料傳給class b後,class b每次對class a傳過來的資料計算完成後,都呼叫class a中定義的public方法,將修改後的資料寫入class a中定義的靜態變數。

具體操作如下:

public

class

a//例項化class b,並傳遞待處理資料

byte

data =

newbyte

[100];

b threadid =

newb

(data)

;//建立執行緒

thread t =

newthread

(new

threadstart

(threadid.

threadproc()

);//啟動執行緒

t.start()

; t.

join()

;}public

class

bpublic

void

threadproc()

}

c# share or modify variables between classes

jQuery同時新增或移除多個class類名

方式一 selector attr class a b c 方式二 selector addclass a b c 只需要通過空格來間隔 class 值即可一次性清除掉多個 class selector removeclass a b c addclass classname 方法是用來給指定元素增...

在可執行檔案或DLL的多個例項之間共享靜態資料

全域性資料和靜態資料不能被同乙個 exe 或dll 檔案的多個映像共享,這是個安全的預設設定。每個 exe 或dll 檔案的映像都由許多節組成。按照規定,每個標準節的名字均以圓點開頭。例如,當編譯你的程式時,編譯器會將所有 放入乙個名叫 text 的節中。該編譯器還將所有未經初始化的資料放入乙個 b...

JAVA 併發程式設計 多個執行緒之間共享資料(六)

1。假設每乙個執行緒執行的 同樣。能夠使用同乙個 runnable 物件,這個 runnable 物件中有那個共享資料,比如,賣票系統就能夠這麼做。2,假設每乙個執行緒執行的 不同。這時候須要用不同的 runnable 物件,比如,設計4個執行緒。當中兩個執行緒每次對j新增1。另外兩個執行緒對j每次...