Home
R
Cancel

[C# 筆記] 什麼是擴展方法?

擴充方法(Extension Methods)是C#中一種特殊的靜態方法,它允許你為現有的類別新增新的方法,而無需修改原始類別的定義。擴充方法通常用於為.NET框架中的類型添加功能,甚至是無法修改的封閉原始碼的類別。 要建立擴充方法,需要滿足以下條件: 1)擴展方法必須是靜態方法。 2)擴展方法必須包含一個關鍵字 this 作為其第一個參數,該參數指定了該方法應用於的類型。這個參數...

[C# 筆記] string 和 StringBuilder 的區別,兩者表現的比較

string 和 StringBuilder 的區別,兩者表現的比較 1. 不可變性: string 是不可變的。 string 是 .NET 中表示不可變字串的類型。這意味著一旦創建了一個 string 對象,它的值就不能被修改。如果對其進行操作,將會生成一個新的 string 對象。 (一旦創建了一個字串對象,就不能更改其內容。對字串進行修改實際上是建...

[C# 筆記] byte b = 'a'; byte c = 1; byte d = 'ab'; byte e = '好'; byte g = 256; 這些變數錯在哪?

byte b = ‘a’; byte b = 'a';//編譯錯誤 byte b = (byte)'a'; //97, a的ascii碼的值為97 這行程式碼會引發編譯錯誤。雖然字元'a'可以隱式地轉換為整數,但是將其賦值給byte類型時,需要確保其值在byte類型的範圍內(0 到 255)。字元'a'的ASCII碼值為97,這是一個在byte範圍內的值,所以可以修改為 byte b ...

[C# 筆記] 字串中 null、""、string.Empty 的區別

null、”“、string.Empty 的區別 總結的來說,這三者的區別在於: null:空值,「未分配記憶」的引用 "" 和 string.Empty:空字串,「會分配儲存空間」,表示「長度為零」的字串,而string.Empty是""的更可讀的替代。 它們之間的差異如下: null string s = null; //空值,未分配記憶空間 這表示字串變...

[C# 筆記] 判斷閏年

判斷閏年 年份能夠要400整除.(2000) 年份能夠被4整除,但不能被100整除. (2008) Console.WriteLine("**請輸入年份***"); int input = Convert.ToInt32(Console.ReadLine()); if ((input % 400 == 0) || (input % 4 == 0 && inpu...

[C# 筆記] 計算時間差距: 天換算周+天、秒換算天+時+分+秒

練習:46天是幾周零幾天? int days = 46; int weeks = days / 7; int day = days % 7; Console.WriteLine($"{days}天是{weeks}周零{day}天"); 練習:107653秒是幾天幾小時幾分鐘幾秒? /* 60*60= 3600 一小時有3600秒 3600*24 = 86400 一天有86400秒 ...

[C# 筆記] 帳號密碼判斷

string username = "admin"; string password = "88888"; Console.WriteLine("請輸入帳號"); string id = Console.ReadLine()!; Console.WriteLine("請輸入密碼"); string pw = Console.ReadLine()!; //第一種情況:帳號密碼都正確 if ...

[C# 筆記] 成績評測

成績評測 >= 90 輸出 A >= 80 輸出 B >= 70 輸出 C >= 60 輸出 D < 60 輸出 E 使用 if-else if Console.WriteLine("**請輸入成績***"); int score = Convert.ToInt32(Console.ReadLine()); if (score >= 90) { ...

[C# 筆記] 猜數字遊戲

遊戲流程: 系統產生一個隨機數,作為猜測目標 輸出:請輸入猜測數字(下限-上限) 接受用戶輸入的數字,並判斷: 如果與目標匹配,則輸出「恭喜猜對了」 如果與目標大,則輸出「猜的大了」 如果與目標小,則輸出「猜的小了」 遊戲規則: 用戶共有10次猜數字的機會,超過十次則輸出「遊戲失敗,是否重來?」 用戶如...

[C# 筆記] 雞兔同籠問題

已知雞兔一共30隻,腳共有90根,計算雞兔各有多少隻 分析-巢狀迴圈 迴圈遍歷兔子與雞數量所有可能 判斷兔子與雞數量相加是否為30隻,且同時滿足腳數量為90根 //數量一共30隻,腳數量一共90根,雞兔各自有幾隻 for (int chicken = 0; chicken <= 30; chicken++) //雞的可能數0~30隻 { for (int rob...