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 8O
Version imprimable
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 8O
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:DateTime.Parse(taString);
N'oublie pas que msdn est ton amie.Citation:
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 !!!!Citation:
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.Citation:
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:
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:
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�...Citation:
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 !). :wink:Citation:
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:
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 :wink:
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�...