Solved

How do I copy an array into another?

Posted on 2008-06-20
8
766 Views
Last Modified: 2012-06-22
Hello,

I want to do something like this: ArrayCopy = Array

Without the original Array changing when I change the CopyArray.

Please help.

Thanks in advance.

0
Comment
Question by:richardhaeger
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +2
8 Comments
 
LVL 48

Assisted Solution

by:jpaulino
jpaulino earned 200 total points
ID: 21833899
0
 
LVL 10

Accepted Solution

by:
gangwisch earned 300 total points
ID: 21833979
Dim ArrayOfInts() As Integer = {1,2,3,4,5,6,7,8,9}
Dim My2ndArrayOfInts() as Integer = ArrayOfInts.Clone()
0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 21833995
use the Clone() method:

arr2 = arr1.Clone()

considering arr1 and arr2 are defined as arrays
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 21834003
Oops, too late.
0
 
LVL 19

Expert Comment

by:Stephen Manderson
ID: 21834008
Use the array.Clone() method

Regards
Steve
0
 
LVL 19

Expert Comment

by:Stephen Manderson
ID: 21834010
Crap me too :D
0
 

Author Closing Comment

by:richardhaeger
ID: 31469283
Both solutions worked fine, I gave Paulino less points because he did not include an example. The clone method does a shallow copy. Does CopyTo do a deep copy? I guess so, am I correct?
0
 
LVL 48

Expert Comment

by:jpaulino
ID: 21835189
The example was in the MSDN link. I just didn't found usefull to copy/paste. :)

The CopyTo allows to copy to a new array and gives you the possibility to select the start index. Ex from MSDN adapted:

        Dim dinosaurs As New List(Of String)

        dinosaurs.Add("Tyrannosaurus")
        dinosaurs.Add("Amargasaurus")
        dinosaurs.Add("Mamenchisaurus")
        dinosaurs.Add("Brachiosaurus")
        dinosaurs.Add("Compsognathus")

        ' Shows the current array List(Of String)
        Debug.WriteLine(vbLf & "Contents of the dinosaurs :")
        For Each dinosaur As String In dinosaurs
            Debug.WriteLine(dinosaur)
        Next

        ' Declare an array with 15 elements (0 through 14).
        Dim array(14) As String
 
         ' Adds some text to the first position
        array(0) = "OldItem"

        ' Copy the array dinosaurs to the array() starting on 1
        dinosaurs.CopyTo(array, 1)

        Debug.WriteLine(vbLf & "Contents of the array:")
        For Each dinosaur As String In array
            Debug.WriteLine(dinosaur)
        Next


And the results:

Contents of the dinosaurs :
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Compsognathus

Contents of the array:
OldItem
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Compsognathus

0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question