C# 與 Java 的 while 和 do...while 語法完全相同:
while (condition)
{
// statements
}
do
{
// statements
}
while (condition); // 別忘了分號
C# 修飾符與 Java 大致對應,但有細微差別。非巢狀類別僅能用 public 或 internal;巢狀類別可用全部五種:
預設存取層級: C# 為 private,Java 為 package-private。
sealed 類別無法被繼承,相當於 Java 的 final class。sealed 類別不能是 abstract。結構體隱含 sealed,不可繼承。
C# 用 const(編譯時期)與 readonly(執行期)取代 Java 的 final。readonly 可在建構函式或宣告處指派,允許執行期運算:
using System;
public class ReadOnlyClass
{
private readonly int IntegerConstant;
public ReadOnlyClass()
{
IntegerConstant = 5; // 建構函式指派
}
public int IntMember
{
set { /* 編譯錯誤:無法在建構函式外修改 readonly */ }
get { return IntegerConstant; }
}
public static void Main(string[] args)
{
ReadOnlyClass obj = new ReadOnlyClass();
Console.WriteLine("Value: {0}", obj.IntMember);
}
}
注意: static readonly 欄位必須在靜態建構函式或宣告處初始化。