Est-il un représentant de l'opérateur en C#?
Par exemple, un opérateur existent pour gérer cela?
float Result, Number1, Number2;
Number1 = 2;
Number2 = 2;
Result = Number1 (operator) Number2;
Dans le passé, le ^
opérateur a servi comme une exponentielle de l'opérateur dans d'autres langues, mais en C# c'est un peu sage de l'opérateur.
Dois-je écrire une boucle ou d'une autre de l'espace de noms pour gérer exponentielle des opérations? Si oui, comment dois-je traiter exponentielle des opérations à l'aide des nombres non entiers?
- Ce n'est pas en C#, mais en plusieurs langues, le
**
que l'infixe opérateur exponentiel. - venu ici parce que j'ai été fâché que 10 ^ 7 stockées dans une longue/Int64 me donnait "13." J'avais essayé 1E7 aussi, mais cela m'a donné une erreur de type. Comme je ne voyais pas une erreur de type illégal et/ou de l'opérateur d'erreur de syntaxe, j'avais supposé mes 10^7 travaillais...
Vous devez vous connecter pour publier un commentaire.
Le langage C#n'ont pas de pouvoir de l'opérateur. Cependant, l' .NET Framework offre la Les mathématiques.Pow méthode:
De sorte que votre exemple pourrait ressembler à ceci:
Je suis tombé sur ce post qui cherchent à utiliser la notation scientifique dans mon code, j'ai utilisé
Mais par la suite j'ai trouvé, vous pouvez le faire
Juste pensé que je voudrais ajouter ceci pour n'importe qui dans une situation similaire que j'ai été en.
Il y a un blog sur MSDN sur pourquoi un exposant opérateur n'existe PAS de l'équipe C#.
Vous avez demandé:
Mathématiques.Pow prend en charge double paramètres, donc il n'est pas nécessaire pour vous d'écrire votre propre.
L'absence d'une exponentielle de l'opérateur pour le C# est un grand ennui pour nous, lorsque vous cherchez une nouvelle langue pour convertir notre logiciel de calcul pour de bon ol' vb6.
Je suis content, nous sommes allés avec C# mais encore, elle m'agace à chaque fois que j'écris une équation complexe, y compris les représentants. Les Mathématiques.Pow() qui permet d'équations assez dur à lire l'OMI.
Notre solution a été de créer un spécial DoubleX classe où nous remplacer le ^-opérateur (voir ci-dessous)
Cela fonctionne assez bien aussi longtemps que vous le déclarer au moins une des variables comme DoubleX:
ou utiliser explicitement un convertisseur double standard:
Un problème avec cette méthode est que l'exposant est calculé dans le mauvais ordre par rapport à d'autres opérateurs. Ceci peut être évité en mettant un supplément (ne) autour de l'opération, ce qui rend à nouveau un peu plus difficile à lire équations:
J'espère que cela peut aider d'autres personnes qui utilise beaucoup de complexes équations dans leur code, et peut-être même quelqu'un a une idée de la façon d'améliorer cette méthode?! 🙂
DoubleX classe:
Je suis surpris que personne n'en a parlé, mais pour la simple (et sans doute la plus rencontrée) cas de la quadrature, vous venez de le multiplier par lui-même.
Math.Pow
. J'étais juste en offrant une solution évidente pour le cas le plus fréquent.Math.Pow(Number1, 2)
Depuis, personne n'a encore écrit une fonction pour faire cela avec deux entiers, voici un moyen:
Alternativement dans VB.NET: