回答
正如Luke在说评论,特定的List<T>
类型已经有一个ToArray()
方法。但是,如果你正在使用C#3.0中,可以利用任何IEnumerable
实例ToArray()
扩展方法(包括IList
,IList<T>
,集合,其他阵列等)
var myList = new List<Guid> {Guid.NewGuid(), Guid.NewGuid()};
Guid[] array = myList.ToArray(); // instance method
IList<Guid> myList2 = new List<Guid> {Guid.NewGuid(), Guid.NewGuid()};
Guid[] array2 = myList2.ToArray(); // extension method
var myList3 = new Collection<Guid> {Guid.NewGuid(), Guid.NewGuid()};
Guid[] array3 = myList3.ToArray(); // extension method
关于你提到的第二个问题:
可以使用Select
方法来执行所需的投影:
var list = new List<MyClass> {new MyClass(), new MyClass()};
Guid[] array = list.Select(mc => mc.value).ToArray();
Muchas gracias。 – 2009-12-17 13:15:14
'List
@Luke:非常好的一点!我相应地更新了我的答案。谢谢。 – 2009-12-17 16:17:16
你应该只需要调用MyList.ToArray()来获取元素的数组。
使用Enumerable.ToArray() Extension Method你可以这样做:
var guidArray = MyList.ToArray();
如果你还在使用C#2.0中,你可以使用List.ToArray方法。语法相同(除了C#2.0中没有关键字var
)。
的新方法(使用扩展或.NET 2.0中的ToArray的()泛型列表法):
Guid[] guidArray = MyList.ToArray();
老办法:
Guid[] guidArray = new guidArray[MyList.Length];
int idx = 0;
foreach (var guid in MyList)
{
guidArray[idx++] = guid;
}
C#2.0有'List.ToArray',它使用'System.Array.Copy' – 2009-12-17 13:20:54
我想我正在展示我的年龄。 :-) – tvanfosson 2009-12-17 14:30:15
还有一种选择,除了Guid[] MyArray = MyList.ToArray()
:
Guid[] MyArray = new Guid[MyList.Count]; // or wherever you get your array from
MyList.CopyTo(MyArray, 0);
这种解决方案可能是,如果更好,不管什么原因,你已经有了一个properly-只是想填充它(而不是构建一个新的,如List<T>.ToArray()
一样)。
- 1. 如何将阵列复制到阵列
- 2. C#复制阵列到阵列
- 3. 复制子目录到目录
- 4. 如何将两个目录的差异复制到新目录?
- 5. 复制阵列
- 6. 如何递归复制SDcard目录和子目录到其他smb目录(samba)?
- 7. 目录复制?
- 8. 复制3D阵列
- 9. 项目阵列到阵列
- 10. 如何将文件从源目录复制到qt中的目标目录
- 11. 如何将文件中的数据复制到目录中或将命令输出复制到目录
- 12. 将阵列从RAM复制到GPU并从GPU复制到RAM
- 13. 如何一些目的阵列的复制到另一个对象数组
- 14. 如何使用Boost Filesystem复制目录
- 15. 如何使用Ant复制目录
- 16. 如何在java中复制目录?
- 17. PHP从阵列复制参考阵列
- 18. 如何复制或复制数组阵列
- 19. selectManyCheckbox元素不复制到阵列时检查项目
- 20. mysql复制目录
- 21. Powershell:复制目录
- 22. 将ARP表复制到阵列
- 23. 阵列中的值复制到PHP
- 24. 的值复制到另一个阵列
- 25. 将结构成员复制到阵列
- 26. 将一个阵列复制到另一个阵列
- 27. 删除阵列中的空值并复制到新阵列
- 28. 将阵列复制到更小的阵列
- 29. numpy的阵列复制到另一个阵列
- 30. 将阵列N次复制到分层阵列
另一个问题, MyClass { Guid value; } 列表 如何将Guid属性复制到Guid的数组? 我的意思是不使用迭代语句 –
2009-12-17 13:34:40
我不是100%的SO礼仪,但最好能提出一个新问题作为一个新问题。我可能是错的。 – 2009-12-17 16:19:38