我有一个包含一张表的数据集。我想使用 Linq 将此表转换为列表。
这段代码工作正常:
var list = dsUniqueIds.Tables[0].AsEnumerable()
.Select(r => new { column1 = r.Field<string>("UniqueIDs") }).ToList();
但是当我尝试像这样更改列表中的类型转换时:
List<string> list = dsUniqueIds.Tables[0].AsEnumerable()
.Select(r => new { column1 = r.Field<string>("UniqueIDs") })
.ToList();
我收到以下错误:
Cannot implicitly convert type
'System.Collections.Generic.List<AnonymousType#1>' to
'System.Collections.Generic.List<string>
我需要列表中的这些数据,以便使用 jQuery 在文本框上自动完成。 为了将数据获取到 jQuery,我使用了 JavaScriptSerializer 和 Serialize(list)。 Serialize(list) 不适用于 var。如果我使用 var,我只会在 JavaScript 中获取对象。 如果我用 foreach 填充列表,这很好用。但我想用 Linq 尝试一下,但我不知道为什么它不起作用。
有人知道为什么这行不通吗?
最佳答案
r => new { column1 = r.Field<string>("UniqueIDs") }
这将创建一个新的匿名类型,其属性名为 column1
。
尝试将其更改为。
r => r.Field<string>("UniqueIDs")
关于c# - 使用 Linq 列出的数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18983497/