출처 : C# List CopyTo Method
C# List CopyTo Method
하나의 List Collection 이 있다. 이 데이터를 배열에 복사하고 싶을 List Collection 의 CopyToMethod 메소드를 사용하면 된다.
사용 상 특징적인 것은
1. 1차원 배열에 복사한다.
2. 이때 복사는 Shallow copy 가 아니라 Deep copy 로 복사한다.
3. 복사 대상인 List Collection 의 데이터 개수가 복사 할 곳인 배열의 크기가 작으면 안된다.
예제에서는 CopyToMethod 의 동작과 Shallow copy 인지 Deep Copy 인지 테스트 해 보았다.
출력 결과
음... 아직 사용해 보지 못하였지만 이제 알았으니 필요할 때 기억할 수 있었으면 한다.
C# List CopyTo Method
하나의 List Collection 이 있다. 이 데이터를 배열에 복사하고 싶을 List Collection 의 CopyToMethod 메소드를 사용하면 된다.
사용 상 특징적인 것은
1. 1차원 배열에 복사한다.
2. 이때 복사는 Shallow copy 가 아니라 Deep copy 로 복사한다.
3. 복사 대상인 List Collection 의 데이터 개수가 복사 할 곳인 배열의 크기가 작으면 안된다.
예제에서는 CopyToMethod 의 동작과 Shallow copy 인지 Deep Copy 인지 테스트 해 보았다.
namespace CopyToDemo
{
internal class Program
{
public static void Main(string[] args)
{
var list = new List<int>() { 5, 6, 7 };
int[] array = new int[list.Count];
list.CopyTo(array);
Console.WriteLine(array[0]);
Console.WriteLine(array[1]);
Console.WriteLine(array[2]);
Console.WriteLine(Environment.NewLine);
array[0] = 1;
array[1] = 2;
array[2] = 3;
Console.WriteLine(array[0]);
Console.WriteLine(array[1]);
Console.WriteLine(array[2]);
Console.WriteLine(Environment.NewLine);
foreach (int n in list)
{
Console.WriteLine(n);
}
}
}
}
{
internal class Program
{
public static void Main(string[] args)
{
var list = new List<int>() { 5, 6, 7 };
int[] array = new int[list.Count];
list.CopyTo(array);
Console.WriteLine(array[0]);
Console.WriteLine(array[1]);
Console.WriteLine(array[2]);
Console.WriteLine(Environment.NewLine);
array[0] = 1;
array[1] = 2;
array[2] = 3;
Console.WriteLine(array[0]);
Console.WriteLine(array[1]);
Console.WriteLine(array[2]);
Console.WriteLine(Environment.NewLine);
foreach (int n in list)
{
Console.WriteLine(n);
}
}
}
}
출력 결과
음... 아직 사용해 보지 못하였지만 이제 알았으니 필요할 때 기억할 수 있었으면 한다.