Home
R
Cancel

[C# 筆記] 觀察者設計模式-貓捉老鼠

第一步:使用委託 被觀察者:貓(只有一個) 觀察者:老鼠(有很多個) 如果應用在程式開發中,例如:在遊戲中,會有個「開始」按鈕,當按下按鈕後,會有很多的場景、音樂、去進行一個資源的加載、其他加載,「開始按鈕」就是「被觀察者」,開始按鈕的狀態變化就是「是否被點擊」,當這個狀態被改變了,它被點擊了,就要通知「觀察者」(資源管理器、音樂理理器、場景管理器…)去做一些事情,像是場景切換,音樂...

[C# 筆記] 工具人下樓問題(Delegate+Event)

假設一群人在宿舍,有人要下樓去買午餐,其他人也跟著請他買,並寫在清單上。 (可以發佈一個事件,大家都可以去訂閱。) 訂閱:訂閱這個事件,當工具人下樓的時候,就可以順便幫他們做一些事(買飯/東西、拿快遞、其他 發佈:發佈下樓的事件 事件:下樓事件 Step1: 先定義兩個類別:工具人、懶人 internal class ToolMan //工具人 { publi...

[C# 筆記] Delegate(委託)、Lambda、Event(事件)

委託的定義和使用 1 什麼是委託? 如果我們要把方法當參數來傳遞的話,就要用到委託,簡單來說,委託是一個類型,這個類型可以賦值一個方法的引用。 一般我們變數都是儲存數據,像是string, int, float, double… 委託變數可以把方法複製過來,通過變數去調用這個方法 聲明委託 在C#中使用一個”類別”有兩個階段:定義、聲明,「定義」就是告訴編譯器這個”類別”由...

[C# 筆記] 使用泛型和索引器來實現一個自己的集合類List

創建構造函數和Capacity Count屬性 定義一個泛型類別 public class MyList public class MyList<T> //定義一個泛型類別 { private T[] array;//定義數組,來儲存我們的元素 private int count = 0;//當前添加的元素的個數 //構造函數(有參數) pub...

[WebAPI] Swagger擴展版本控制(不符合Restful風格)

Swagger擴展版本控制(不符合Restful風格), 勿試… Step1. 新增一個ApiVersions.cs檔,使用列舉(enum)定義版本的名稱 namespace NET6Demo.WebApi.Utility.Swagger { public enum ApiVersions { V1, V2, V3 }...

C# Notes - Part Ⅲ

字串 string string 可以利用類似索引器[index]的語法,去訪問字串中的某個字符 //可以利用類似索引器的語法,去訪問字串中的某個字符 string s = "www.google.com"; Console.WriteLine(s[3]); //. for (int i = 0; i < s.Length; i++) { Console.WriteLine(s...

C# Notes - Part Ⅱ

異常處理(捕捉異常) try-catch-finally [範例] 讓用戶輸入兩個數字,輸入非整數類型,處理該異常,並讓用戶重新輸入,輸出這個兩個數的和 int num1 = 0, num2 = 0; Console.WriteLine("請輸入第一個數:"); while (true) { //使用死循環,讓用戶可以重新輸入 try { num1 = Convert...

C# Notes - Part I

數學運算符-自加(++)自減(- -) ++不管是放在操作數的前面或後面,都是讓操作數+1 int num = 8; num++; //8 ++num; //8 如果++和- -是放在運算式裡: ++如果放在操作數的後面,會先賦值運算,再自加 int res = num++; //res:8, num:9 ++如果放在操作數的前面,會先自加,再進行運算賦值 int res = +...

無蝦米符號

一般 科學 標點 一般 圖形 框線 其他 數字 字母 數理 中文 日文 liu_boshiamy_japan_chinese.jpg 嘸蝦米輸入法特殊符號表

為何居士互稱師兄,而不稱師姐

男女平等,意指佛性上的平等,人人均有佛性。然而,我們不可不承認男與女在生理及心理狀態上仍有相異之處。一般而言,色身上,男眾較女眾勇勐強健、障礙較少;心理上,男眾比女眾少嫉妒、瞋恨、計較……。因此,我們希望跳脫女眾的柔弱,學習男眾的大丈夫氣概。且看古代花木蘭代父從軍,被稱為女中丈夫,即是一種褒揚的意思。經中亦常讚歎出家之行:「善哉大丈夫,能了世無常,捨俗趣泥洹,希有難思議。」對於男女一律稱為師...