Home
R
Cancel

[C# 筆記] &和 && 的區別

& 是位元與運算符,同時也可用於邏輯與操作,但不會短路。 && 是邏輯與運算符,具有短路的特性。 & 運算子: & 是位元與運算符,用於對整數類型的對應位元執行位元與操作。 在邏輯上,& 也可用於執行邏輯與操作,但與 && 不同,& 會對兩側的操作數都進行求值,而不會短路。 例如,if (conditi...

[C# 筆記] Math.Round(11.5) 等於多少? Math.Round(-11.5) 等於多少

Math.Round(11.5) 等於多少? Math.Round(-11.5) 等於多少 在C#中,Math.Round 方法用於將浮點數捨入到最接近的整數。對於包含 .5 的情況,它遵循一種特定的規則,稱為「銀行家捨入」規則。 Math.Round(11.5) = 12 Math.Round(-11.5) = -12 C# .NET面试系列一:基础语法

[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() { ...