C# List 复制克隆副本
2016-03-17 23:30
573 查看
[C#技术] C# List 复制克隆副本数字人 发表于:2012-8-28 18:02:49废话不多说,看代码:
方法一:
List<string> t = new List<string>(); //original
List<string> t2 = new List<string>(t.ToArray()); // copy of t
方法二:
It is a one liner using LINQ.
List<string> list1 = new List<string>();
List<string> list2 = new List<string>();
// This will copy all the items from list 1 to list 2
list1.ForEach(i => list2.Add(i));
方法三:
using System;
using System.Linq;
using System.Collections.Generic;
using System.Diagnostics;
namespace Delegates
{
class X
{
public int Id { get; set; }
public string Name { get; set; }
}
class Y
{
public int Id { get; set; }
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<X> x = new List<X>();
for (int i = 0; i < 100; i++)
x.Add(new X { Id = i, Name = string.Format("x_{0}", i.ToString()) });
// copy x to y
List<Y> y = new List<Y>(x.ConvertAll<Y>(e => { return new Y { Id = e.Id, Name = e.Name }; }));
Debug.Assert(x.Count == y.Count);
}
}
}
方法一:
List<string> t = new List<string>(); //original
List<string> t2 = new List<string>(t.ToArray()); // copy of t
方法二:
It is a one liner using LINQ.
List<string> list1 = new List<string>();
List<string> list2 = new List<string>();
// This will copy all the items from list 1 to list 2
list1.ForEach(i => list2.Add(i));
方法三:
using System;
using System.Linq;
using System.Collections.Generic;
using System.Diagnostics;
namespace Delegates
{
class X
{
public int Id { get; set; }
public string Name { get; set; }
}
class Y
{
public int Id { get; set; }
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<X> x = new List<X>();
for (int i = 0; i < 100; i++)
x.Add(new X { Id = i, Name = string.Format("x_{0}", i.ToString()) });
// copy x to y
List<Y> y = new List<Y>(x.ConvertAll<Y>(e => { return new Y { Id = e.Id, Name = e.Name }; }));
Debug.Assert(x.Count == y.Count);
}
}
}
相关文章推荐
- 浅析C#组件编程中的一些小细节
- C# 反射总结
- c#中反射的用法(即如何根据字符找到已定义的变量)
- C# 反射 通过类名创建类实例
- C#高级编程 (第六版) 学习 第六章:运算符和类型强制转换
- C# string类型和byte[]类型相互转换
- C# 类型基础
- C# kinect v2学习笔记(一) kinect V2配置安装
- c#Com控件开发
- 【c#】装箱与拆箱
- c#实习
- C# 委托实现窗口之间通信
- C#借助API实现黑盒自动化测试工具的编写
- 用 C# 实现文件信息统计(wc)命令行程序
- c#中的is和as运算符
- C# 动态创建DataTable表,并添加新行
- C#判断连接是否可下载
- web项目中登陆超时的功能实现(基于C#)
- 从0自学C#09--抽象工厂模式实例
- 简单掌握Windows中C#启动外部程序进程的方法