Une chose que j'ai toujours trouvé fasstidieuse en C# c'est le test du type d'un objet

Par exemple pour savoir si un objet est de type numerique il faut faire une cascade de test Single, double, int et j'en passe

Les operateurs sont aussi confusionnant entre TypeOf, GetType (j'en passe aussi)


J'ai donc DEUX questions
1- Quelqu'un connait il une maniere simple est concise de determiner si un type est numerique


2- Dans quel cas l'operateur is peut-il ou doit il etre utilisé (tres dificille de trouver de la doc sur l'operateur is (presque aussi compliqué que '?' ou '??'

Par exemple

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
// Ceci est correct
        if (type == typeof(Single) || type == typeof(double))
        {
        }
// Ceci compile mais ne donne pas le resultat attendu
        if (type is Single || type is double)
        {
        }
merci aux avis des guru en la matière