C# 要使用Linq列出的数据集
我有一个带有一个表的数据集。我想用Linq将此表转换为列表 此代码工作正常:C# 要使用Linq列出的数据集,c#,javascript,jquery,linq,C#,Javascript,Jquery,Linq,我有一个带有一个表的数据集。我想用Linq将此表转换为列表 此代码工作正常: var list = dsUniqueIds.Tables[0].AsEnumerable() .Select(r => new { column1 = r.Field<string>("UniqueIDs") }).ToList(); var list=dsUniqueIds.Tables[0].AsEnumerable() .Select(r=>new
var list = dsUniqueIds.Tables[0].AsEnumerable()
.Select(r => new { column1 = r.Field<string>("UniqueIDs") }).ToList();
var list=dsUniqueIds.Tables[0].AsEnumerable()
.Select(r=>new{column1=r.Field(“uniqueid”)}.ToList();
但当我试图在这样的列表中更改演员阵容时:
List<string> list = dsUniqueIds.Tables[0].AsEnumerable()
.Select(r => new { column1 = r.Field<string>("UniqueIDs") })
.ToList();
List List=dsUniqueIds.Tables[0].AsEnumerable()
.Select(r=>new{column1=r.Field(“uniqueid”)})
.ToList();
我得到以下错误:
Cannot implicitly convert type
'System.Collections.Generic.List<AnonymousType#1>' to
'System.Collections.Generic.List<string>
无法隐式转换类型
“System.Collections.Generic.List”到
'System.Collections.Generic.List
我需要这些数据在一个列表中,以便使用jQuery在文本框中自动完成。
为了获得jQuery的数据,我使用JavaScriptSerializer和Serialize(列表)。
Serialize(list)不适用于变量。如果使用变量,则只能在JavaScript上获取对象。
如果我用foreach来填充列表,这个方法就可以了。但是我想尝试一下Linq,我不知道为什么它不起作用
有人知道这为什么不起作用吗?
新的{column1=r.Field(“uniqueid”)}
正在创建一个带有单个属性的匿名类型column1
您有列表
,无法将其转换为列表
。这就是编译器抛出编译时错误的原因
试试这个
List<string> list = dsUniqueIds.Tables[0]
.AsEnumerable()
.Select(r => r.Field<string>("UniqueIDs"))
.ToList();
List List=dsUniqueIds.Tables[0]
.可计算的()
.Select(r=>r.Field(“uniqueid”))
.ToList();
查看以获取更多信息。
新建{column1=r.Field(“UniqueIDs”)}
正在使用单个属性column1
创建匿名类型
r => new { column1 = r.Field<string>("UniqueIDs") }
您有列表
,无法将其转换为列表
。这就是编译器抛出编译时错误的原因
试试这个
List<string> list = dsUniqueIds.Tables[0]
.AsEnumerable()
.Select(r => r.Field<string>("UniqueIDs"))
.ToList();
List List=dsUniqueIds.Tables[0]
.可计算的()
.Select(r=>r.Field(“uniqueid”))
.ToList();
查看更多信息。如果您编写
r => new { column1 = r.Field<string>("UniqueIDs") }
List<string> list = dsUniqueIds.Tables[0].AsEnumerable().Select(r=> r.Field<string>("UniqueIDs") }).ToList();
List List=dsUniqueIds.Tables[0].AsEnumerable().Select(r=>r.Field(“UniqueIDs”)}.ToList();
您的代码不起作用,因为匿名类型=字符串如果您编写
List<string> list = dsUniqueIds.Tables[0].AsEnumerable().Select(r=> r.Field<string>("UniqueIDs") }).ToList();
List List=dsUniqueIds.Tables[0].AsEnumerable().Select(r=>r.Field(“UniqueIDs”)}.ToList();
您的代码不起作用,因为匿名类型=字符串如果需要列表
,则应选择字符串
s,而不是匿名类型的对象
List<string> list = dsUniqueIds.Tables[0].AsEnumerable().Select(r => r.Field<string>("UniqueIDs")).ToList();
List List=dsUniqueIds.Tables[0].AsEnumerable().Select(r=>r.Field(“UniqueIDs”).ToList();
如果需要列表
,应选择字符串
s,而不是匿名类型的对象
List<string> list = dsUniqueIds.Tables[0].AsEnumerable().Select(r => r.Field<string>("UniqueIDs")).ToList();
List List=dsUniqueIds.Tables[0].AsEnumerable().Select(r=>r.Field(“UniqueIDs”).ToList();
因为您没有选择Strings,所以您的linq查询将返回具有属性column1的对象列表。这不是一个列表,因为您没有选择Strings。您的linq查询返回具有属性column1的对象列表。这不是一个列表