C# 在Linq中查找可枚举行 foreach(AvailableInAB中的字符串s) { DataRow cmp=c.NewRow(); 对象[]Itr=cmp.ItemArray; EnumerablerRowCollection rst=来自a.AsEnumerable()中的mrow 其中mrow.字段(“零件号”)==s 选择mrow; 如果(rst.ToList().Count>0) { rst.ToList()[0].ItemArray.CopyTo(Itr,0); } }
我的代码将从a表中获取受尊重的项。工作正常。C# 在Linq中查找可枚举行 foreach(AvailableInAB中的字符串s) { DataRow cmp=c.NewRow(); 对象[]Itr=cmp.ItemArray; EnumerablerRowCollection rst=来自a.AsEnumerable()中的mrow 其中mrow.字段(“零件号”)==s 选择mrow; 如果(rst.ToList().Count>0) { rst.ToList()[0].ItemArray.CopyTo(Itr,0); } },c#,linq,C#,Linq,我的代码将从a表中获取受尊重的项。工作正常。 但我需要的是,如果相同的字符串名称“S”重复,则表示获取查询中匹配的第一个值的代码。如果名称重复,它将跳转第一行项目并找到第二个完美匹配项。请帮助我解决问题。不确定问题是什么。请澄清,如果datarow中存在名称,则查询将从表中获取项。如果相同名称重复,则查询将获取相同项。我想在第一次匹配后获取匹配项。是否要获取第二项?请尝试以下操作:DataTable rst=a.AsEnumerable()。其中(mrow=>mrow.Field(“零件号”)=
但我需要的是,如果相同的字符串名称“S”重复,则表示获取查询中匹配的第一个值的代码。如果名称重复,它将跳转第一行项目并找到第二个完美匹配项。请帮助我解决问题。不确定问题是什么。请澄清,如果datarow中存在名称,则查询将从表中获取项。如果相同名称重复,则查询将获取相同项。我想在第一次匹配后获取匹配项。是否要获取第二项?请尝试以下操作:DataTable rst=a.AsEnumerable()。其中(mrow=>mrow.Field(“零件号”)==S)。CopyToDataTable();请提供样品数据和预期结果。我发现很难从语法上理解你的问题。我不知道问题是什么。请澄清,如果datarow中存在名称,则查询将从表中获取项。如果相同名称重复,则查询将获取相同项。我想在第一次匹配后获取匹配项。是否要获取第二项?请尝试以下操作:DataTable rst=a.AsEnumerable()。其中(mrow=>mrow.Field(“零件号”)==S)。CopyToDataTable();请提供样品数据和预期结果。我发现很难从语法上理解你的问题。
foreach (String s in AvailableInAB)
{
DataRow cmp = c.NewRow();
Object[] Itr = cmp.ItemArray;
EnumerableRowCollection<DataRow> rst = from mrow in a.AsEnumerable()
where mrow.Field<String>("Part Number") == s
select mrow;
if (rst.ToList().Count > 0)
{
rst.ToList()[0].ItemArray.CopyTo(Itr, 0);
}
}