我试图在函数中返回此集合:
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>'
返回此类收藏品的最佳方式是什么?
答案 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();