VB2005 - Array parziale

mercoledì 28 ottobre 2009 - 19.42

Teech Profilo | Expert

Ho un problema apparentemente semplice ma non capisco come fare:
Ho una funzione che mi restituisce un array di stringhe: da questo array vorrei crearne uno nuovo ma prendendo gli elementi dal terzo in avanti...
Avete suggerimenti?

Esempio:
Dim ArraySource() As String ={'X','Z','a','b','c','d','e','f'}
---Vorrei ricavare un array così---
{'a','b','c','d','e','f'}

Grazie mille
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

alexmed Profilo | Guru

Ciao

Così?:

Dim ArraySource() As String = {"X", "Z", "a", "b", "c", "d", "e", "f"} Dim newArray As New ArrayList() For i As Integer = 2 To ArraySource.GetLength(0) - 1 newArray.Add(ArraySource.GetValue(i)) Next For x As Integer = 0 To newArray.Count - 1 MsgBox(newArray.Item(x)) Next

Ciao

alexmed

Pinky Profilo | Junior Member

Per questo esiste il metodo CopyTo dell'oggetto Array. Mi pare sia del .Net 2.0 o precedente.
Un esempio NON testato di utilizzo:
string[] values = new string[10]; // returned from your function

int newDimension = 7; ///
string[] newValues = new string[newDimension];
values.CopyTo(newValues, values.Length - newDimension);


MSDN: http://msdn.microsoft.com/en-us/library/system.array.copyto.aspx

ciao
Alessandro

Teech Profilo | Expert

Il metodo CopyTo non sono riuscito a farlo funzionare in quanto mi restituisce sempre un'eccezione indicando che la destinazione non è dimensionata correttamente... L'avevo provato prima di aprire il thread...
Ho però risolto utilizzando un Overload del metodo statico Copy (fra l'altro il metodo CopyTo utilizza proprio questo metodo dietro le quinte).

--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5