Bonjour,
quelqu'un pourrait-il me donner le nombre maximum de caractères que je peux utiliser dans une variable de type String en VB.Net?
Merci d'avance.
Version imprimable
Bonjour,
quelqu'un pourrait-il me donner le nombre maximum de caractères que je peux utiliser dans une variable de type String en VB.Net?
Merci d'avance.
2 147 483 647
Apparemment non, je suis bloqué au bout d'environ 1000 caractères.
C'est à dire, comment est ce que tu le constates?
Heu,désolé de m'introduire sans apporter de solution mais j'ai une question pour Neptune : tu le trouve où ce nombre de caractère ?
Parce que ça fait beaucoup quand même.
Ce n'est que de la curiosité pour augmenter ma culture informatique
Tout bêtement (tiré de la MSDN) :
La taille max d'un int étant Int32.MaxValue, suffit de trouver la valeur de MaxValue que la MSDN nous donne aussi.Citation:
String..::.Length Property
Property Value
Type: System..::.Int32
The number of characters in this instance.
Dans la pratique, tu seras plus vite limité par la mémoire disponible.
La propriété Length de String renvoie un int, donc le nombre que j'ai cité n'est autre que la valeur maximale qu'un int peut stocker (Int32.Max). De plus, le constructeur de StringBuilder accepte également un int comme capacité de départ.
Ce sont les deux premiers indices. Ensuite, c'est lié à l'architecture (cfr. mémoire, pointeurs, etc.)
EDIT: mince, le saumon fût plus agile que moi...
En fait je viens de voir que ce n'est pas le string qui pose problème. Mais la classe System.web.mail.
En effet, je passe bien tout le body de mon mail dans la string (j'ai vérifié, tout est là) et c'est après que l'overflow se produit.
Je vous donne la solution de ce problème dès que je la trouve (je suis en train d'essayer la classe System.Net.Mail.MailMessage pour voir si cela résout le problème).
Merci à tous,
djdada
http://beuvangeblog.blogspot.com
Alors là par contre, je peux t'aider.
J'ai fais un truc qui envoi des mail tout seul, sous forme de srvice Windows.
Les mails sont préparer par plein d'aplications et stocker dans une BDD et puis le service les prends par tranche de 25 000 par quart d'heure pour les envoyer (c'est notre capacité d'envoi max, aprés on sature notre tuyaux et vu qu'on est aussi hébergeur.....)
Donc le System.Net.Maill.Message peux prendre beaucoup plus de 1000 caractères dans le body. Les plupart des mails que j'envoi font plus de 8000 car j'ai été obligé de faire une champ Texte dans la base, le VarChar(8000) était trop petit.
Sauf erreur de ma part, la classe System.Web.Mail est obsolète avec le FrameWork 2.0, non ?
Merci Saumon et Neptune, on pourra continuer le concours d'agilité, j'en ai d'autres des questions comme ça.
Mais ça fait un paquet de caractère pour la String tout de même, je me demande s'il y une bécane capable de gérer une variable pareille.
Tout juste Zoofy.
Je suis passé de System.Web.Mail à System.net.Mailmessage est le problème est résolu depuis.
Merci à tous pour vos réponses et bon week-end,
djdada
http://beuvangeblog.blogspot.com
[QUOTE=neptune;3118993]Tiens, on a découvert un de ces gars qui nous ennuie avec ces spams... :-D
Rho, le méchant, c'est même pas vrai, ce n'est que des mails publicitaires envoyé à des gens inscrit pour ça.
En fait, ils sont un peu sado maso et ils imaginent qu'ils vont gagner un peu de blé avec ça.
Extrait MSDN
Citation:
The Length property returns the number of Char objects in this instance, not the number of Unicode characters. The reason is that a Unicode character might be represented by more than one Char. Use the System.Globalization.StringInfo class to work with each Unicode character instead of each Char.
Oui oui, j'avais bien compris ;-) Je confirmais par ce que j'ai lu dans MSDN.