将EnumerableRowCollection <string>转换为List <string> </string> </string>

时间:2013-04-24 21:01:12

标签: c# linq

我试图在函数中返回此集合:

List<string> codes = ( from q in Data.AsEnumerable() select q.Field<string>("START") );
return codes;

抛出错误:

Cannot implicitly convert type 'System.Data.EnumerableRowCollection<string>' to 'System.Collections.Generic.List<string>'

返回此类收藏品的最佳方式是什么?

2 个答案:

答案 0 :(得分:23)

由于EnumerableRowCollection<TRow>实施IEnumerable<T>,您最后可以添加ToList()

using System.Linq;

List<string> bankCodes = ( from q in QueueData.AsEnumerable() select q.Field<string>("START") ).ToList();

或者

List<string> bankCodes =  QueueData.AsEnumerable()
    .Select(r => r.Field<string>("START"))
    .ToList();

答案 1 :(得分:5)

您需要使用.ToList()将其转换为列表,所以尝试这样的事情。

List<string> bankCodes = ( from q in QueueData.AsEnumerable() select q.Field<string>("START")).ToList();