Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [c#]problema vettore dichiarato in proc
Forum - C# / VB.NET - [c#]problema vettore dichiarato in proc - Pagina 2

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:32
Venerdì, 13/11/2009
Hai dimenticato le parentesi quadre definendo il tipo restituito dalla funzione.

PM Quote
Avatar
microprocessore (Normal User)
Pro


Messaggi: 146
Iscritto: 18/06/2009

Segnala al moderatore
Postato alle 16:40
Venerdì, 13/11/2009
intendi così?    

Codice sorgente - presumibilmente C# / VB.NET

  1. static esemplare fusione(esemplare[] v, esemplare[] v1)
  2.         {
  3.             esemplare[] v2 = new esemplare[v.Length + v1.Length];
  4.             return esemplare []v2;
  5.         }


perchè anchè facendo così mi si presentano molti errori

Ultima modifica effettuata da microprocessore il 13/11/2009 alle 16:41
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2302
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 18:48
Venerdì, 13/11/2009
potresti gentilmente postare un pò tutto quello che serve?

perchè mi sembra tutto confuso.
con questo esempio non riesco a darti aiuto.


Codice sorgente - presumibilmente C# / VB.NET

  1. static esemplare fusione(esemplare[] v, esemplare[] v1)
  2.         {
  3.             esemplare[] v2 = new esemplare[v.Length + v1.Length];
  4.             return esemplare []v2;
  5.         }




visto che la funzione che intendi fare in questo esempio
non è specificato di che tipo è.


esemplare[]scheda = fusione(squadra1, squadra2);

esemplare[] scheda di che tipo è?
poi è impostato male.

và prima il tipo, dopo le parentesi e dopo ancora il nome della var del tipo
int[] esemplare;

cmq se ti serve come eseguire la funzione sugli array

il metodo corretto e questo

private int[] funzione(int squadra1, int squadra2)
        {
          
        }

devi sempre specificare il tipo + l'array nella funzione
e dopo prendi il valore con il return.

Ultima modifica effettuata da Thejuster il 13/11/2009 alle 18:51


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
microprocessore (Normal User)
Pro


Messaggi: 146
Iscritto: 18/06/2009

Segnala al moderatore
Postato alle 20:01
Venerdì, 13/11/2009
esemplare è il tipo del vettore...
ho creato una struttura chiamata esemplare e ho poi dichiarato un vettore di tipo esemplare.
quindi il tipo della funzione è esemplare

Ultima modifica effettuata da microprocessore il 13/11/2009 alle 20:02
PM Quote
Avatar
Gianluca87 (Ex-Member)
Expert


Messaggi: 300
Iscritto: 16/11/2008

Segnala al moderatore
Postato alle 20:38
Venerdì, 13/11/2009
Ciao, ti propongo di cambiare il vettore con una lista....
la cosa è molto semplice usi la tua struct scheda dentro una lista in questo modo:
Codice sorgente - presumibilmente C++

  1. public struct Scheda
  2. {
  3.   public int var1;
  4.   public int var2;
  5. }
  6. List<Scheda> Schede = new List<Scheda>();


ovviamente va dichiarata nella classe del form esterna alle tue function se vuoi l'istanza sia comune per tutte le funzioni che hai nel tuo form
sucessivamente senza curarti dei puntatori puoi ciclare gli elementi Scheda della lista con un foreach in questo modo
Codice sorgente - presumibilmente C# / VB.NET

  1. foreach (Scheda iScheda in Schede)
  2. {
  3.  
  4. }


senza aver bisogno di gestire un puntatore puoi usare iSchede per gestire operazioni sulla scheda puntata dal ciclo....
se hai bisogno ad esempio di fare un ciclo solo sulle schede che hanno ad esempio var1 = 5 basta che imposti una condizione Where sulla collection della foreach :
Codice sorgente - presumibilmente C# / VB.NET

  1. foreach (Scheda iScheda in Schede.Where(Scheda => Scheda.var1 == 5))
  2. {
  3.  
  4. }


se vuoi usare questo metodo e hai dei dubbi sono a disposizione.

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2302
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 20:46
Venerdì, 13/11/2009
esemplare e appunto una struttura non un tipo quindi non puoi usarla come array.


ma a questo punto non fai prima a farti una lista?
risparmiando tempo.

cmq ti ho scritto questa piccola porzione di codice
spero possa tornarti utile.

non tentarla di usarla, ma piu che altro.
cerca di capire il procedimento. :k:

Codice sorgente - presumibilmente C++

  1. public struct esemplare
  2.         {
  3.  
  4.             public int larghezza;
  5.             public int lunghezza;
  6.  
  7.         }
  8.  
  9.  
  10.         public esemplare esemplares;
  11.          
  12.         private int[] fuzione(int e1,int e2)
  13.         {
  14.             int[] ret = new int[1];
  15.             ret[0] = e1 + e2;
  16.             return ret;
  17.         }
  18.  
  19.  
  20.         private void Form1_Load(object sender, EventArgs e)
  21.         {
  22.             esemplare es = new esemplare();
  23.             es.larghezza = 100;
  24.             es.lunghezza = 100;
  25.  
  26.             int[] esemp = new int[2];
  27.             esemp[0] = es.lunghezza;
  28.             esemp[1] = es.larghezza;
  29.  
  30.             int[] risultato = fuzione(esemp[0], esemp[1]);
  31.  
  32.             MessageBox.Show(risultato[0].ToString());
  33.         }



https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Gianluca87 (Ex-Member)
Expert


Messaggi: 300
Iscritto: 16/11/2008

Segnala al moderatore
Postato alle 21:00
Venerdì, 13/11/2009
Testo quotato

Postato originariamente da Thejuster:

esemplare e appunto una struttura non un tipo quindi non puoi usarla come array.


come no... certo che si può usare come vettore ....
Codice sorgente - presumibilmente C# / VB.NET

  1. Scheda[] Schede = new Scheda[10];


PM Quote
Avatar
microprocessore (Normal User)
Pro


Messaggi: 146
Iscritto: 18/06/2009

Segnala al moderatore
Postato alle 10:47
Sabato, 14/11/2009
gianluca87, mi potresti spiegare e commentare a cosa servire la tua riga di codice?

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo