What?s the difference between the System.Array.CopyTo() and
System.Array.Clone()?
Answers were Sorted based on User's Feedback
First of all both perform a shallow copy.
Difference is that:-
copy to() needs another array and index from which it starts copy elements of source array to destination array. E.g if destination array B[] has already 3 elements so we can pass 4 as index and B as destination array. This will make it more clear -
class CopyTO
{
public static void Main()
{
int[] A = new int[3];
int [] B = new int[7];
A[0] = 1;
A[1] = 2;
A[2] = 3;
B[0] = 4;
B[1] = 5;
A.CopyTo(B, 4);
for (int i = 0; i < B.Length; i++)
{
Console.WriteLine(B[i]);
}
}
}
The output will be 4,5,0,0,1,2,3 // It copied elements of A
from Index 4 in B.
Clone to return a array that contains elements of the source array. Its length is same as of source array.
Is This Answer Correct ? | 2 Yes | 0 No |
Answer / satish
System.Array.CopyTo() performs the deep copy that is it
creates a new duplicate copy without effect of old one.
Whereas Clone creates as shallow copy but as it is a clone
so it is linked with the old one so affect whenever changes
occures in the old one.
Is This Answer Correct ? | 1 Yes | 2 No |
Answer / rahul
The first one performs a deep copy of the array, the second
one is shallow.
Is This Answer Correct ? | 0 Yes | 3 No |
Difference between multi-level and multiple inheritance?
My switch statement works differently! Why?
can we assign null value to value type in c#?
12 Answers Idea, Microsoft, Wipro,
What is a HashCode?
What is the difference between static and constant variables?
How to call a function when a class implements 2 interfaces and function is present in both interfaces?
Explain the difference between Metadata and Manifest
What is the system namespace?
What is private protected in c#?
What is difference between an Structure and Class?
What is the example of predicate?
Define delay signing?