我希望LINQ查询结果在int类型变量中。
我有一个查询,它将始终返回单个int值。我想要那样的结果。
int interlineId = from cSInterline in codeShareInterline_.AsEnumerable()
where cSInterline.Field<int>("InterCodeId") == interCodeId[0]
select cSInterline.Field<int>("PermitedPercent");
但它返回错误..
答案 0 :(得分:6)
您的查询返回IEnumerable<int>
,在这种情况下只返回一个项目。因此,请在末尾添加Single
或SingleOrDefault
以仅返回该项目。如果您的查询可能返回的项目超过1项,请使用FirstOrDefault
。
int interlineId =
(from cSInterline in codeShareInterline_.AsEnumerable()
where cSInterline.Field<int>("InterCodeId") == interCodeId[0]
select cSInterline.Field<int>("PermitedPercent")).SingleOrDefault();
答案 1 :(得分:2)
试试这个:
int interlineId = (from cSInterline in codeShareInterline_.AsEnumerable()
where cSInterline.Field<int>("InterCodeId") == interCodeId[0]
select cSInterline).Single().Field<int>("InterCodeId");
答案 2 :(得分:1)
试试这个(它应该有用):
int? interlineId = (from cSInterline in codeShareInterline_.AsEnumerable()
where cSInterline.Field<int>("InterCodeId") == interCodeId[0]
select cSInterline.Field<int>("PermitedPercent")).FirstOrDefault();