欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【转载】 C#中使用CopyTo方法将List集合元素拷贝到数组Array中

程序员文章站 2023-01-01 12:51:37
在C#的List集合操作中,有时候需要将List元素对象拷贝存放到对应的数组Array中,此时就可以使用到List集合的CopyTo方法来实现,CopyTo方法是List集合的扩展方法,共有3个重载方法签名,分别为void CopyTo(T[] array)、void CopyTo(T[] arra ......

在c#的list集合操作中,有时候需要将list元素对象拷贝存放到对应的数组array中,此时就可以使用到list集合的copyto方法来实现,copyto方法是list集合的扩展方法,共有3个重载方法签名,分别为void copyto(t[] array)、void copyto(t[] array, int arrayindex)、void copyto(int index, t[] array, int arrayindex, int count)等三种形式,此文重点介绍copyto的第一种方法签名形式void copyto(t[] array)。

首先定义个用于测试的类testmodel,具体的类定义如下:

  public class testmodel
    {
         public int index { set; get; }

        public string name { set; get; }
    }

然后定义一个list<testmodel>集合,并往里面写入3条testmodel数据,具体实现如下:

  list<testmodel> testlist = new list<consoleapplication1.testmodel>();
            testlist.add(new testmodel()
            {
                 index=1,
                 name="index1"
            });
            testlist.add(new testmodel()
            {
                index = 2,
                name = "index2"
            });
            testlist.add(new testmodel()
            {
                index = 3,
                name = "index3"
            });

我们需要达到的目的是,将testlist集合的元素对象拷贝到数组array中,此时可使用下列语句实现:

testmodel[] copyarray = new testmodel[testlist.count];
 testlist.copyto(copyarray);

注意:上述程序语句中的copyto方法为浅层次拷贝,当修改copyarray数组的时候,也会联动修改list集合对象testlist。例如赋值copyarray[0].index = 10后,list集合对象testlist的第一个元素testlist[0]对象的index属性也被修改为10。

 

备注:原文转载自博主个人站it技术小趣屋,原文链接 c#中使用copyto方法将list集合元素拷贝到数组array中_it技术小趣屋