Newsgroup: it.comp.lang.visual-basic
Titolo: Limite variabile string [.NET]

Sto scrivendo una procedura che mi dia in output un file contenente il 
risultato di alcune query in un'unica stringa
ex:
     Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button3.Click
         Dim i As Integer
         Dim strContenutoFile As String
         strContenutoFile = ""
         For i = 1 To 10000
             strContenutoFile = strContenutoFile & "Questa è la riga 
numero: " & i & vbCrLf
         Next
         My.Computer.FileSystem.WriteAllText("C:\test2.txt", 
strContenutoFile, False)
         MsgBox("Scrittura file completata correttamente", 
MsgBoxStyle.Information)
     End Sub
in questo caso c'è un semplice ciclo for ma la mia domanda è: C'è un 
limite per le variabili string?
Siccome io prendo prima tutto in input nella variabile e dopo scrivo 
tutto il contenuto di essa nel file in un'unica volta volevo saper ese 
improvvisamente mi potrei trovare con dei dati troncati per limite 
masssimo raggiunto.
Oppure c'è un'alternativa altrettanto semplice da raggiungere?
Grazie

 Oppure c'è un'alternativa altrettanto semplice da raggiungere?
Il limite dovrebbero essere i classici 2Gb, ma eviterei le concatenazioni e 
userei al loro posto lo StringBuilder, tanto per non far decadere le 
prestazioni.
Ciao
-- 
Free .Net Reporting Tool - 
http://www.neodatatype.net
 

 limite per le variabili string?
Dalla documentazione:
"...String variables are stored as sequences of unsigned 16-bit (2-byte) 
numbers ranging in value from 0 through 65535. Each number represents a 
single Unicode character. A string can contain up to approximately 2 
billion (2 ^ 31) Unicode characters..."
Ciao
-- 
Gianluca Cannalire
Microsoft MVP/MCP - Visual Basic
http://www.visual-basic.it
http://community.visual-basic.it/gianluca
 

 prestazioni.
Lo stringBuilder esiste anche in vb6 che sappiate?
Perchè in diversi programmi ho la creazione automatica delle stringhe sql a
concatenazioni e se si può migliorare meglio :).

 sql a concatenazioni e se si può migliorare meglio :).
In VB6 le stringhe vengono gestite in modo differente da .NET e quindi non 
è necessario lo stringBuilder


 è necessario lo stringBuilder
Ottimo allora :)
Tnx

 Ottimo allora :)
Ma se lavori con stringhe molto grosse puoi ottenere benefici allocando 
subito uno stringone vuoto e riempiendolo via Mid$(..)=".." anzichè 
concatenando le stringhe.
Ma ne vale la pena?
Ciao 

 subito uno stringone vuoto e riempiendolo via Mid$(..)=".."
Ma pensa te...
Mid$ funziona anche in scrittura...
Non si finisce mai di imparare...
Alberto
-- 
A questo punto hanno trovato un muro,
un muro duro, molto molto duro,
che siamo noi.

 Ma ne vale la pena?
Vabbè solitamente riempo la parte Where di una stringa sql, il classico
filtro di stampa insomma.
Quindi non mi conviene rimettere mano a tutto :)
Tnx

 limite per le variabili string?
Si, dovrebbe essere intorno ai 2 miliardi di caratteri.
Bye,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS
"Un problema non č un problema se puň essere risolto"