C# lwn. Java Enums: Perbandingan untuk pembangun yang berhijrah dari Java ke C#
Untuk pengaturcara yang berhijrah dari Java ke C#, adalah penting untuk memahami perbezaan dalam keupayaan penghitungan kedua-dua bahasa. Walaupun penghitungan C# pada mulanya kelihatan lebih mudah daripada penghitungan Java, ia menyediakan keupayaan unik yang boleh digunakan untuk mencapai hasil yang sama atau lebih berkuasa.
Perbezaan utama:
Salin enum Planet Java dalam C#:
Dalam C#, anda boleh mentakrifkan penghitungan Planet dan melaksanakan kaedah sambungan yang setara menggunakan sifat atau kamus tersuai.
Kaedah atribut tersuai:
<code class="language-c#">[PlanetAttr(3.303e+23, 2.4397e6)] public enum Planet { MERCURY, VENUS, EARTH, // ... 其他行星 }</code>
Atribut PlanetAttr tersuai menyimpan jisim dan jejari setiap planet.
Kaedah sambungan:
<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>
Kaedah kamus:
<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>
Menggunakan kamus, anda boleh mendapatkan semula nilai jisim dan jejari dan mengira graviti permukaan yang serupa dengan kaedah atribut tersuai.
Dengan memanfaatkan kaedah sambungan atau kamus, anda boleh melaksanakan fungsi yang sama seperti penghitungan Java dalam C#, membolehkan pemindahan kod dan konsep yang lancar.
Atas ialah kandungan terperinci Bagaimanakah C# Enums Bandingkan dengan Java Enums untuk Pembangun Membuat Suis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!