Maison >développement back-end >C++ >Comment les énumérations C# se comparent-elles aux énumérations Java pour les développeurs effectuant le changement ?
C# vs Java Enums : une comparaison pour les développeurs migrant de Java vers C#
Pour les programmeurs migrant de Java vers C#, il est essentiel de comprendre les différences dans les capacités d'énumération des deux langages. Bien que les énumérations C# semblent initialement plus simples que les énumérations Java, elles offrent des fonctionnalités uniques qui peuvent être utilisées pour obtenir des résultats identiques, voire plus puissants.
Principales différences :
Copier l'énumération Planet de Java en C# :
En C#, vous pouvez définir une énumération Planet et implémenter des méthodes d'extension équivalentes à l'aide de propriétés personnalisées ou de dictionnaires.
Méthode d'attribut personnalisé :
<code class="language-c#">[PlanetAttr(3.303e+23, 2.4397e6)] public enum Planet { MERCURY, VENUS, EARTH, // ... 其他行星 }</code>
L'attribut personnalisé PlanetAttr stocke la masse et le rayon de chaque planète.
Méthodes d'extension :
<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>
Méthode du dictionnaire :
<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>
À l'aide d'un dictionnaire, vous pouvez récupérer les valeurs de masse et de rayon et calculer la gravité de surface de la même manière que les méthodes d'attributs personnalisés.
En tirant parti des méthodes d'extension ou des dictionnaires, vous pouvez implémenter les mêmes fonctionnalités que les énumérations Java en C#, permettant une migration transparente du code et des concepts.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!