C#编程入门_ToArray和CopyTo的区别_22

ToArray是将一个集合转化成一个数组,该数组是进行ToArray操作的一个产物
CopyTo(T[] array)是一个将集合中的数据复制到一个一个已经存在的数组中,只不过是对数组中的元素进行修改

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ToArrayAndCopyTo
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> list = new List<int>();
            list.Add(1);
            list.Add(20);
            //ToArray是将一个集合转化成一个数组
            //是转化之前没有,在使用该方法的时候,内存开辟空间,创建了一个数组
            int[] arr = list.ToArray();
            Console.WriteLine(arr.Length);

            Console.WriteLine(arr.GetHashCode() +" arr的HashCode值");
            //将一个结合中的数据复制到一个原有的数组中,在赋值过程中一定要确保数组的空间足够大
            // 直接操作的就是原有数据的堆中的数据 将集合中的数据复制到数组中  覆盖索引相同的元素
            List<int> list1 = new List<int>();
            list1.Add(10);
            list1.CopyTo(arr);
            //arr中索引为1的元素并没有任何的修改
            Console.WriteLine(arr[1]);
            Console.WriteLine(arr.GetHashCode() + " arr的HashCode值");
        }
    }
}

C#编程入门_ToArray和CopyTo的区别_22_第1张图片
通过结果Hashcode我们可以看出,其实就是操作的是你同一个对象

你可能感兴趣的:(C#)