Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 要使用Linq列出的数据集_C#_Javascript_Jquery_Linq - Fatal编程技术网

C# 要使用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

我有一个带有一个表的数据集。我想用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{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的对象列表。这不是一个列表