Newsgroup: it.comp.lang.visual-basic
Titolo: [vb.net 2003] Array vuoto dentro if...then

Devo capire se un array è completamente vuoto in if..then.
Ho provato varie soluzioni, tipo:
if array1 = 0 then...
if UBound(array1) = null then...
ma non funzionano.
Cosa mi consigliate?
Christian

> if UBound(array1) = null then...
If Ubound(array1) = 0 AND array1(0) = ""
Potrebbe andar bene?
cosi' Ti assicuri che anche l'elemento 0 sia "", o addirittura nullo.

Akuma From Work says...

Purtroppo così mi dà errore:
NullExeption ... il valore non può essere null.
Christian

 Devo capire se un array è completamente vuoto in if..then.
Chiarire il concetto di "completamente vuoto", grazie.
-- 
Salutoni
Sergio
..Nessun baol esiste.
Non sei mai esistito, Baol, se non nei nostri sogni.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Chiarire il concetto di "completamente vuoto", grazie.
Completamente vuoto vuol dire che è stato appena creato e mi dà errore 
"... Nullexception ... il valore non può essere null".
Con if...then vorrei leggere quell'array e capire se è completamente 
vuoto (null) oppure ci sono dei dati dentro.
Se hai bisogno di altre info chiedi pure.
Christian

 Se hai bisogno di altre info chiedi pure.
Come hai creato questo array?


 Come hai creato questo array?
Nel modulo:
Public Array1() As String
If...then va inserita nel:
Private Sub form2_load .....
Christian

 Christian
Prova con if array1.Length = 0 then 
.. e prometti di non usare più ubound con 
vb.net
-- 



Null *NON* significa che l'array è vuoto, ma che non è stato inizializzato.
Un array vuoto è un array senza elementi.
Ciao
-- 
Free .Net Reporting Tool - 
http://www.neodatatype.net
 

 .. e prometti di non usare più ubound con 
vb.net
So che UBound è obsoleto con 
vb.net
 e neanche volevo usarlo, ma avevo 
già provato quello che consigli tu e mi dà errore "... 
nullReferenceException ... riferimento a un oggetto non impostato su 
un'istanza di oggetto".
Christian

 un'istanza di oggetto".
Is nothing ?
-- 
Salutoni
Sergio
..Nessun baol esiste.
Non sei mai esistito, Baol, se non nei nostri sogni.
questo articolo e` stato inviato via web dal servizio gratuito 


 Is nothing ?
Il messaggio di errore completo per
if array1.Length = 0 then ...
è:
"
Eccezione non gestita di tipo"System.NullReferenceException" in 
miofile.exe.
Informazioni aggiuntive: Riferimento a un oggetto non impostato su 
un'istanza di oggetto.
"
Christian

 "
Ok, questo si era capito :-)
Ti avrei chiesto di verificare cosa succede se fai
if array1 is nothing then
...


 Un array vuoto è un array senza elementi.
Grazie per la precisazione.
In effetti l'array dinamico non è ancora stato inizializzato e dovrei 
capire come fare a riconoscerlo con if...then.
Christian

 ...
		If x Is Nothing OrElse x.Length = 0 Then
			Console.WriteLine("Beccato")
		End If
-- 


 ...
Succede che funziona, grazie mille Sergio!!!
Avevo già provato ad utilizzare "nothing", ma ci avevo erroneamente 
inserito ".Length".
Christian

 inserito ".Length".
E ovviamente non abbiamo capito una ceppa del perchè, ma tanto a chi 
importa? ;)


 capire come fare a riconoscerlo con if...then.
Sinceramente da quando uso .Net non ho mai avuto necessitą di usare gli 
array nello stesso modo in cui si faceva con VB6.
Si vive molto meglio con gli ArrayList e Hashtable.


 Si vive molto meglio con gli ArrayList e Hashtable.
Se devo essere sincero quando ho studiato gli array li ho trovati molto 
efficaci per le mie esigenze e per quanto riguarda gli strumenti per 
archiviazione di dati mi sono un pò fermato e ho focalizzato la mia 
attenzione su altre cose.
In ogni caso è da poco che studio 
vb.net
 e quindi so bene che ho ancora 
molto da imparare. Nella mia to do's list ai primi posti ci sono proprio 
gli arraylist (un misto tra matrici ed insiemi, se non ho capito male 
guardandoli velocemente).
Per quanto riguarda invece gli Hashtable non prevedo di studiarli a 
breve, perchè da una letta molto veloce non ho capito bene a cosa 
servono: perchè secondo te sono efficaci?
Christian

 servono: perchè secondo te sono efficaci?
Ma guarda che questi sono concetti che in 5 minuti si imparano, mica vorrai 
perderci tempo a studiarli!
Poi tutti i risvolti "di fino" li si imparano con l'uso.
Gli ArrayList sono delle liste di oggetti, come gli array ma molto più 
flessibili (prestazionalmente credo più lenti degli array, ma la filosofia 
ultimamente è di privilegiare la semplicità del codice piuttosto che le 
prestazioni).
Le Hashtable sono come gli ArrayList solo che ogni elemento è identificato 
da una chiave e non da un'indice.
