Home
R
Cancel

[C# 筆記] 關於構造函數說法正確的是哪個?

a) 建構子可以宣告回傳型別。 b) 建構子不可以用private修飾 c) 建構子必須與類別名稱相同 d) 建構子不能帶參數 答案:c 建構函數的名稱必須與包含它的類別的名稱完全相同。這是建構函式的標準命名規則。其他選項是不正確的 a) 建構子不可以宣告回傳型別。建構函式沒有傳回類型,甚至不能宣告 void。 b) 建構子可以使用 private 修飾...

[C# 筆記] 下面這段程式碼求值

下面這段程式碼求值 class Class1 { internal static int count = 0; static Class1() { count++; } public Class1() { count++; } } Class1 o1 = new Class1(); Class1 o2 ...

[C# 筆記] a.Equals(b) 和 a == b 一樣嗎?

a.Equals(b) Equals 方法是從 System.Object 類別繼承而來的,因此對於所有類型都是可用的。 預設情況下,Equals 方法執行的是引用比較,即檢查兩個物件是否引用「同一個記憶體位置」。 子類別可以重寫 Equals 方法以提供自訂的相等性比較。 object a = new object(); object b = a; bool resul...

[C# 筆記] ref 和 out 有什麼區別?

ref 和 out 都是在C#中用於參數傳遞的關鍵字,它們有一些區別,主要體現在以下幾個方面: 初始值: ref 關鍵字要求在傳遞給方法之前必須先為變數賦初值,也就是在方法呼叫前必須對變數進行初始化。 out 關鍵字不要求在傳遞給方法之前為變數賦初值,但在方法內部必須確保在使用該參數之前賦值。 ref 的範例 // ref 的範例 int x = 10; MyMethod...

[C# 筆記] using 關鍵字的作用

命名空間引用 別名引用 資源管理(IDisposable 介面) 命名空間引用: // using 用於引入命名空間,以便在程式碼中使用其中定義的類型而不需要使用完全限定的類型名稱。 using System; namespace MyNamespace { class MyClass { static void Main() { ...

[C# 筆記] 什麼是強型,什麼是弱型?哪種比較好些?為什麼?

強型別(Strongly Typed): 強類型語言在編譯時或執行時對變數的類型進行嚴格檢查。即使在進行簡單的操作時,也要確保變數的類型是一致的,否則會引發類型錯誤。 C#、Java、C++ 等是強型別語言的代表。 弱類型(Weakly Typed): 弱型別語言對變數的型別檢查較為寬鬆,允許在一定程度上進行自動型別轉換。在弱型別語言中,同一個變數可以在不同的上下文中...

[C# 筆記] short s1 = 1; s1 = s1 + 1; 有什麼錯? short s1 = 1; s1 += 1; 有什麼錯?

s1 = s1 + 1; //會造成編譯錯誤,需要明確型別轉換。 s1 += 1; //不會造成編譯錯誤,編譯器會自動進行型別轉換 C# .NET面试系列一:基础语法

[C# 筆記] C# 可否對記憶體直接操作?

C# 在unsafe模式下可以使用指針對記憶體進行操作, 但在託管模式下不可以使用指針,C# NET預設不運行帶指針的,需要設定下,選擇專案右鍵 -> 屬性 -> 建置 -> 一般 ->「不安全程式碼-允許適應unsafe」關鍵字編譯的程式碼,打勾 -> 儲存。 class Program { static unsafe void Main() { ...

[C# 筆記] 靜態成員和非靜態成員的區別

實體化: 靜態成員屬於類別,而不屬於類別的實體。可以透過類別名稱直接存取靜態成員,而不需要建立類別的實體。 非靜態成員屬於類別的實體。要存取非靜態成員,需要先建立類別的實體,然後透過實體來存取成員。 實體(實例、instance) 記憶體分配: 靜態成員在程式啟動時就分配內存,並在程式結束時釋放。它們的生命週期與應用程式的生命週期相同。 非靜態成員在創建...

[C# 筆記] Strings = new String(“xyz”); 建立了幾個 String Object?

這段程式碼實際上會創建一個字串對象,其中每個字元都是從提供的字串中複製的,但是因為 string 對象本身是不可變的,所以這樣的使用方式並不常見。 通常,我們直接使用字串字面量或透過其他方法建立字串,而不需要使用 new string 建構函數。例如: string s = "xyz"; //使用字串 或者如果你有字元數組,可以使用: char[] arr = {'x','y','...