12

我试图在一个函数中返回这个集合:

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>'

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

4

2 回答 2

29

由于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();
于 2013-04-24T21:03:41.053 回答
6

您需要使用.ToList()将其转换为列表,因此请尝试这样的操作。

List<string> bankCodes = ( from q in QueueData.AsEnumerable() select q.Field<string>("START")).ToList();
于 2013-04-24T21:03:51.017 回答