Hello,
Venant du VB, on avait la fonction IsNumeric mais étant passé sur C# je ne parviens pas à la trouvé.
J'ai vu sur le web qu'on peut utiliser la librairie Microsoft.VisualBasic.dll pour la retrouver mais est-ce autoriser sous WP7 ?
Merci
Version imprimable
Hello,
Venant du VB, on avait la fonction IsNumeric mais étant passé sur C# je ne parviens pas à la trouvé.
J'ai vu sur le web qu'on peut utiliser la librairie Microsoft.VisualBasic.dll pour la retrouver mais est-ce autoriser sous WP7 ?
Merci
TryParse de la classe string devrait faire l'affaire.
Tu trouveras tout un tas de solution possible ici :
http://www.developpez.net/forums/d61...umeric-existe/
Ok,
merci pour ces infos, je suis passé en effet par TryParse mais cela m'étonnera toujours les différences entre les deux langages tout comme les différences qu'on peut avoir dans l'éditeur Visual Studio lorsqu'on code en VB ou en C# !!
Peut ête mais en tant que développeur:
Entre:
Et:Code:if(MonTruc.IsNumeric)....
je préfère le premier :aie:Code:
1
2
3 int Valeur; Result = int.TryParse(MonTruc,out Valeur); If(Result)....
Maintenant, je ne suis pas depuis longtemps dans le C# donc je pense qu'il y a plus court........
Code:
1
2 "bla".All(c=>char.IsDigit(c)); "125".All(c=>char.IsDigit(c));
Ok,
et on récupère c qui est un boolean je suppose ?
en tout cas merci, je ne suis pas encore familier avec ces expressions lambda :aie:
Alors c'est un peu plus subtil que ca!
Le
signifie que je crée une fonction qui a un caractère c associe un booléen, le résultat de char.IsDigit(c) mais que je ne donne pas de nom à cette fonction (fonction anonyme)Code:c=>char.IsDigit(c)
Ensuite, le All(mafonction) applique la fonction mafonction (ici notre fonction anonyme) a tous les éléments et vérifie que les résultat pour chacun est true.
C'est le résultat de All que tu peux récuperer comme ceci:
Ou plus simplement:Code:
1
2
3
4
5 var monbool = "bla".Where((char c)=>char.IsDigit(c)); if(monbool) { //blabla }
Code:
1
2
3
4 if("bla".Where((char c)=>char.IsDigit(c))) { //blabla }
Si dotnet a un TryParse mais pas de IsNumeric, c'est tout simplement parce que, étant un langage fortement typé, le seul moment où on peut se retrouver avec des chaînes numériques, c'est aux entrées. Et dans ce cas on va plutôt tout de suite chercher à parser la chaîne en question pour récupérer le nombre avec lequel on travaillera. Donc il y a très peu d'utilité à avoir un IsNumeric.
Ok merci à tous deux !
j'irais me coucher moins bête ce soir !
En effet, je ne connais pas la fonction IsNumeric vu qu'en language fortement typé elle n'a pas trop t'interet (c'était surtout pour vérifier que le variant de vb était un nombre).