将ICollection <t>转换为List <t>

时间:2016-07-04 17:33:25

标签: c#

我正在尝试使用以下代码将ICollection转换为List -

ICollection<DataStructure> list_Stuctures = dataConnectorService.ListStructures(dataConnector, SupportedDataStructures.All);

List<DataStructure> lst_DataStructure = new List<DataStructure>();

list_Stuctures.CopyTo(lst_DataStructure);

在最后一行,我得到以下异常 -

  

Exception = TargetParameterCountException

     

消息=参数计数不匹配。

如何将ICollection转换为List?

4 个答案:

答案 0 :(得分:32)

ICollection转换为List的最简单方法是使用LINQ,如(MSDN

List<T> L = C.ToList();

别忘了添加

using System.Linq;

否则ToList()不可用。

答案 1 :(得分:4)

您可以在List<T>构造函数中提供集合作为参数:

List<DataStructure> lst_DataStructure = new List<DataStructure>(list_Stuctures);

或者使用.ToList()扩展方法,它完全相同。

答案 2 :(得分:2)

保持简单,ToList

List<DataStructure> lst_DataStructure = list_Stuctures.ToList();

答案 3 :(得分:0)

由于ICollection实现IEnumerable,因此可以使用foreach。

min/maxProperties