Oppure

Loading
12/03/09 15:50
Thejuster
Scusate sto da poco orientandomi su questo linguaggio che mi affascina molto

Ho un problema alla sintesi Split nella creazione dell'array
non so cosa faccio di sbagliato ma non riesco a recupeare il contenuto dell'array splittato

vi mostro il mio esempio


IO::StreamReader ^STRCFG = gcnew IO::StreamReader("\host.cfg");

System::String ^CFG = STRCFG->ReadToEnd();
			
Object ^splitted = CFG->Split(',');




Ora se provo ad eseguire un for sulla variabile splitted
e come se la var splitted non fosse un array o non contesse alcun dato.
tipo una variabile vuota non da segni di vita.

Qualcuno potrebbe gentilmente spiegarmi come posso eseguire un cilco for
mediante l'utilizzo del medoto split.
Ultima modifica effettuata da Thejuster 12/03/09 15:51
mire.forumfree.it/ - Mire Engine
C# UI Designer
12/03/09 19:21
theprogrammer
Se c'e' un linguaggio che non mi piace veramente, quello e' il "C++ managed" ...

Comunque, il codice dovrebbe essere

	array<String^>^ splitted = CFG->Split(','); 

	IEnumerator^ en = splitted->GetEnumerator();
	while (en->MoveNext())
	{
		String^ s = safe_cast<String^>(en->Current);
		Console::WriteLine( s );
	}


Naturalmente dovrai indicare all'inizio anche

using namespace System::Collections;

aaa
13/03/09 9:22
Thejuster

Grazie mille funziona perfettamente
volevo chiederti solo un unica cosa però.

Di solito mi piace capire quello che faccio o ciò che scrivono
le persone che mi aiutano.

di solito altre persone si accontentano della sola risposta
ance se non conosco il corretto funzionamento di un azione

volevo sapere questo passaggio che non ho capito bene
la sintesi safe_cast a cosa si riferisce
e subito dopo quel <String^>

String^ s = safe_cast<String^>(en->Current); 


gentilmente potresti spiegarmi il funzionamento di questa sintesi?

safe_cast<String^>
mire.forumfree.it/ - Mire Engine
C# UI Designer
13/03/09 10:55
theprogrammer
Postato originariamente da Thejuster:

gentilmente potresti spiegarmi il funzionamento di questa sintesi?

safe_cast<String^>


en->Current restituisce un Object

Per tipizzare correttamente il valore restituito come String, e' necessario inserire il cast

safe_cast<String^>

Il tipo Object diventerà un tipo String

(Il concetto di cast dovrebbe essere uno dei primi concetti acquisiti da chi programma in C/C++, sia managed che native ... ovvero, ti consiglio di studiare da un libro, capitolo dopo capitolo e non "buttarti" a scrivere codice di cui non conosci le basi teoriche ...)

P.S. Ma perche' la chiami "sintesi"? Sono istruzioni, metodi, classi ... "sintesi" non e' un termine corretto ...
Ultima modifica effettuata da theprogrammer 13/03/09 10:57
aaa