C# List 赋值(二) --复制 和 new 构造函数

List<T> 类型的赋值有两种结果:

1、变量赋值,因为变量中存储的是内存的地址,对变量赋值后,实际修改了变量中内存地址,即引用改变了,此时的变量指向其他的对象实例

2、对象赋值,变量中的内存地址不变,内存中数据修改,即引用不变,指向的对象实例的内容修改

我们在实际项目中往往是需要后者的效果,特别是新建一个List<T>变量时,不能修改原值,而是复制原值后,对复制的数据进行逻辑处理

 

之前有学习到其他博文中List<T>复制的方法,我首选了new(List<T>)的方法,所以记录一下new创建对象和调用List构造函数

一、List<T>构造函数

1、List<T>()  

初始化新实例,该实例为空并且具有默认初始容量(0)。

2、List<T>(IEnumerable<T>)  

初始化新实例,该实例包含从指定集合复制的元素并且具有足够的容量来容纳所复制的元素。

3、List<T>(Int32)  

初始化新实例,该实例为空并且具有指定的初始容量

 

二、List<T>属性

1、Capacity

获取或设置该内部数据结构在不调整大小的情况下能够容纳的元素总数。

2、Count

获取 List<T> 中实际包含的元素数。

 

三、List<T>方法

通过查看所有方法,找到还可以实现List<T>复制的方法:

1、AddRange   将指定集合的元素添加到 List<T> 的末尾。

public void AddRange(IEnumerable<T> collection)

可以调用Clear方法清除所有元素,然后AddRange,进行复制

 

2、CopyTo(T[])   将整个 List<T> 复制到兼容的一维数组中,从目标数组的开头开始放置。

public void CopyTo(T[] array)

 

转载于:https://www.cnblogs.com/jie0602/p/9428902.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值