Bonjour tout le monde,
est ce qu il y a un equivalent a la fonction ISDATE() dans C# ??
si oui je peux avoir un exemple?
merci par avance
nadaa![]()
Bonjour tout le monde,
est ce qu il y a un equivalent a la fonction ISDATE() dans C# ??
si oui je peux avoir un exemple?
merci par avance
nadaa![]()
non ISDATE() n'existe pas en C#
tu peux te servire de
System.Text.RegularExpressions;
pour tester si la chaine rentrée est une date ou non
Ou faire unOu encore:
Code : Sélectionner tout - Visualiser dans une fenêtre à part DateTime.Parse(taString);N'oublie pas que msdn est ton amie.DateTime.Parse(taString, taCultureInfo)
Ou plus sauvagement, faire une fonction IsDate de ton cru qui cast la valeur en date et récupére ainsi si une exception se lève ou non.![]()
perte de vitesse au premier passage dans le try catch !!!!Envoyé par David.V
ça dépend de l'utilisation que tu en fait aprés. C'est sur que si tu comptes faire 1 millions d'iterations derrière, vaux mieux éviter. Mais dans le cas d'un passage simple, ça n'a aucune incidence.Envoyé par pc152
je ne suis pas d'accord
je viens de tester ca
et bien au premier appuis sur le bouton il met environ 2 secondes a afficher la fenetre donc chose innutil quand on peux par les expression regulaire verifier !!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 try { DateTime p = Convert.ToDateTime(txtVerif.Text); return true; } catch (FormatException ex) { MessageBox.Show(ex.ToString(),"Erreur",MessageBoxButtons.OK,MessageBoxIcon.Exclamation); return false; }
de toute facon on est oblige de passer par le try catch
en effet
renvoie une exception!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DateTime.Parse("mercredi c'est ravioli");
l'autre possibilite c'est bien sur la regexp, mais on perd tout l'aspect culture...
si qqun a trouve un autre moyen ca m'interesse aussi
Ecoutes, à mon avis, t'a un problème avec ton poste, parce qu'il faut pas 2 secondes (mesures un peu la porté de ta connerie là) à une bécane pour lever une exception là dessus ! ça mesure en quelques cycle machine ces choses là...Envoyé par pc152
De plus, une expression régulière "bouffe" à mon avis beaucoup plus de temps machine que de passer par une exception pure et dure.
Rah vous chamaillez pas!
de toute facon vous avec tous les deux raison:
Try/catch est plus rapide si la valeur est de la bonne nature
La regexp est plus performante si la valeur n'est pas de la bonne nature
je me suis inspire des resutlats de:
http://aspalliance.com/articleViewer.aspx?aId=80&pId=3
Excuses moi, mais entendre des abérations pareilles chez quelqu'un qui fait du développement (web ou non), ça me choque un peu. C'est vrai que c'est des "gamineries" tout ça, mais bon, y'a des bêtises qu'on ne peut pas laisser passer (genre 2 secondes pour le traitement try catch, fallait oser !).Envoyé par Piotrek
![]()
Peace and Love![]()
1.6 sec tout de meme au premier passage
ok j'ai pas un pc a la pointe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Dim i As Int32 For i = 0 To 999 Dim p As String = "pwet" + i.ToString Try Dim u As Date = Date.Parse(p) Catch ex As System.FormatException 'Catch ex As Exception End Try Next![]()
en aucune cas je ne souhaite faire des gaminerie mais je donne mon avis perso sur mon aplication WINFORM j'ai fait le teste et le fait de lever une exception me prend plus de temps sur MON pc qu'une verif avec une expression reguliaire.
et je ne parle que du premier passage car apres cela est plus rapide
et le lien de Piotrek me le montre.
desoler du derangement![]()
mercii tout le monde
je vais tester les solutions proposé![]()
Faut pas vous battre.
Moi je proposais juste ma soluce parce qu'elle permet de traitre tout mes cas avec le cultureinfo. genre: "samedi le 19 aoùt 2003" avec une expression régulière, t'es pas sauvé...
Partager