C# 與 Java 枚舉:針對從 Java 遷移到 C# 的開發者的比較
對於從 Java 遷移到 C# 的程式設計師來說,理解這兩種語言枚舉功能的差異至關重要。雖然 C# 枚舉最初看起來比 Java 枚舉更簡單,但它們提供了獨特的功能,可以用來實現相同甚至更強大的結果。
主要區別:
在 C# 複製 Java 的 Planet 枚舉:
在 C# 中,您可以定義 Planet 枚舉並使用自訂屬性或字典實作等效的擴充方法。
自訂屬性方法:
<code class="language-c#">[PlanetAttr(3.303e+23, 2.4397e6)] public enum Planet { MERCURY, VENUS, EARTH, // ... 其他行星 }</code>
自訂 PlanetAttr 屬性儲存每顆行星的質量和半徑。
擴充方法:
<code class="language-c#">public static class Planets { public static double GetSurfaceGravity(this Planet p) { // 使用自定义属性获取行星属性 PlanetAttr attr = GetAttr(p); return G * attr.Mass / (attr.Radius * attr.Radius); } // ... 其他扩展方法 }</code>
字典方法:
<code class="language-c#">private static readonly Dictionary<Planet, double[]> planetData = new Dictionary<Planet, double[]> { { Planet.MERCURY, new double[] { 3.303e+23, 2.4397e6 } }, // ... 其他行星 };</code>
使用字典,您可以檢索質量和半徑值,並類似於自訂屬性方法計算表面重力。
透過利用擴充方法或字典,您可以在 C# 中實現與 Java 枚舉相同的功能,從而實現程式碼和概念的無縫遷移。
以上是對於進行轉換的開發人員來說,C# 枚舉與 Java 枚舉相比如何?的詳細內容。更多資訊請關注PHP中文網其他相關文章!