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>に a を追加するだけです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 に答える