Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Hai ragione, le parentesi le avevo messe per far capire che sono i dati che inserisco nell'Array e il PersonalData è il nome dell'Array, ma lo cambio subito x non creare confusione.
Tutti i campi sono stringhe:
MioArray[X] = new string[] {Name, Cognome, Indirizzo};
Vorrei aggiungere, dopo il campo Indirizzo, il campo città, e ottenere questo array:
MioArray[X] = new string[] {Name, Cognome, Indirizzo, città};
Hai ragione, le parentesi le avevo messe per far capire che sono i dati che inserisco nell'Array e il PersonalData è il nome dell'Array, ma lo cambio subito x non creare confusione.
Tutti i campi sono stringhe:
MioArray[X] = new string[] {Name, Cognome, Indirizzo};
Vorrei aggiungere, dopo il campo Indirizzo, il campo città, e ottenere questo array:
MioArray[X] = new string[] {Name, Cognome, Indirizzo, città};
si suppone che la "X" sia una variabile numerica
se tu dichiari l'Array con tre valori iniziali, poi non puoi aggiungerne altri
lo devi dichiarare con 4 elementi "MioArray[] = new string[] {Name, Cognome, Indirizzo, città};"
Giusto quello che dice Ultimo, meglio dichiarare la matrice con il numero di elementi occorrenti.
Nei casi dove non si conosce a priori la dimensione della matrice, si può ridimensionare da codice:
// sovrascrivo l'array principale di lavoro con l'array appena creato
PrimoArray = SecondoArray;
// PrimoArray ora contiene gli stessi valori di prima ma ha un elemento in più di valore Null
// che posso riempire
PrimoArray[3]="Via Carmine";
}
Ho usato delle stringhe ma tutto funziona anche usado delle variabili di stringa
In VB .Net esistono le istruzioni Redim e Redim Preserve.
Non sono esperto di C#, se qualche Guru conosce un sistema migliore del mio è gradito un esempio.
Mi piacerebbe usare anche Array.Resize ma gli esempi che ho trovato in giro non funzionano.
Ultima modifica effettuata da Carlo il 17/05/2018 alle 17:28
in programmazione tutto è permesso
()
Newbie
Messaggi: Iscritto:
Postato alle 17:06
Giovedì, 17/05/2018
Redim (Preserve) è uno statement inefficiente e obsoleto, che proviene dal VB precedente e che funziona solo grazie al riferimento allo spazio dei nomi Microsoft.VisualBasic (che dovrebbe essere eliminato da tutti i progetti VB.NET per evitare l'uso di statement/funzioni obsolete).
Redim (Preserve) è uno statement inefficiente e obsoleto, che proviene dal VB precedente e che funziona solo grazie al riferimento allo spazio dei nomi Microsoft.VisualBasic (che dovrebbe essere eliminato da tutti i progetti VB.NET per evitare l'uso di statement/funzioni obsolete).
string[] arr = new string[] { "Carlo", "Rossi", "Roma" };
System.Array.Resize(ref arr, arr.Length + 1);
arr[3] = "Firenze";
Console.WriteLine(arr[3]);
In realtà, con .NET è preferibile usare un ArrayList o un Generics
In VB .Net Array.Resize mi funzionava alla grande, ma in C# no e ora grazie a nessuno so anche il perché.
In: https://msdn.microsoft.com/it-it/library/bb348051(v=vs.110) ... il "ref" non c'è, invece è indispensabile, dagli aiuti lo avevo notato, e avevo provato varie combinazioni, tutte sbagliate!!
Ho adottato il mio motto "in programmazione tutto è permesso", scrivendo il codice che ho postato prima, ora inutile.
EDIT: il mio codice funziona anche con le matrici multidimensionali, invece come si dovrebbe fare?
Ultima modifica effettuata da Carlo il 17/05/2018 alle 18:01
Nel programma conversione misure, ho permesso all'utente di inserire nuove unità di misura e nuove scale, per fare questo ho dovuto ridimensionare le tre matrici bidimensionali, che contengono tutti i parametri.
nessuno Leggi bene gli esempi dal link.... trovi tutto
Ho riletto meglio, c'è scritto, ma si capisce solo dopo che lo sai...
Ho letto anche del ridimensionamento di matrici multidimensionali, con il ciclo di for, sinceramente mi piace di più come ho fatto io.
Ultima modifica effettuata da Carlo il 17/05/2018 alle 18:42