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 |
What is the use of static abstract class
5 Answers Karur Vysya Bank KVB, Target,
Is null or empty in c#?
What is the difference between throw and throw ex?
Explane each and every methods of nterface Queue? Explain About performance issues on retrieving records
What is int parse in c#?
From a versioning perspective, what are the drawbacks of extending an interface as opposed to extending a class?
Is c and c# the same?
What is the difference between TypeOf and GetType?
How to make a class not inheritable other than sealed?
what is the difference between a struct and a class in c#?
Does c# support #define for defining global constants?
why we can't create an object for a static class?? what is the reason behind this?