Je viens d'avoir une idée dernière nigth lors de l'écriture d'un si l'expression et parfois l'expression ont tendance à être longue quand vous avez comme ceci:C# en surcharge opérateur
if(x == 1 || x == 2 || x == 33 || x == 4 || x == -5 || x == 61) { ... }
x peut être énumérations, cordes , ints, chars vous obtenez l'image.
Je veux savoir s'il existe un moyen plus simple d'écrire ceci. je pense à l'opérateur de sql « dans » par exemple en eay pour raccourcir l'expression:
if(x in (1,2,33,4,-5,61)) { ... }
Je sais que vous ne pouvez pas écrire une expression comme celui-ci avec « dans » parce que le lexer et parser du compilateur won ne le reconnais pas.
Peut-être d'autres solutions comme méthodes d'extension de différents types de x est la solution? Dans le .NET 4.0 à venir, j'ai entendu parler des méthodes paramétrées, devrait-il résoudre la quantité n de paramètres fournis à l'expression if? Peut-être que vous me comprenez, avez-vous une idée d'une bonne pratique/solution à cette question?
/Daniel
Je trouve le titre un peu confus. On dirait que vous voulez utiliser C# dans une surcharge d'opérateur. Je mets l'IN en majuscules par manque de meilleure idée de comment rendre cela plus clair. –
question intéressante si –