C# DataTable Select方法中列值的Replace()函数

C# DataTable Select方法中列值的Replace()函数,c#,asp.net,.net,linq,datatable,C#,Asp.net,.net,Linq,Datatable,我试图根据foreach循环中另一个datatable的列值来比较和选择datatable中的行- foreach (DataRow dr in dt1.Rows) { DataRow[] result = dt2.Select("[Company Name] = '" + dr["Named Company"].ToString() + "'"); } 现在,问题是同一公司的两个数据表中的公司名称可能有所不同,因为其中一个可能有连字符,而另一个可能没有 如何在[Company Name

我试图根据foreach循环中另一个datatable的列值来比较和选择datatable中的行-

foreach (DataRow dr in dt1.Rows)
{
   DataRow[] result = dt2.Select("[Company Name] = '" + dr["Named Company"].ToString() + "'");
}
现在,问题是同一公司的两个数据表中的公司名称可能有所不同,因为其中一个可能有连字符,而另一个可能没有


如何在[Company Name]和dr[“Named Company”]中包含忽略连字符的子句。ToString()。我知道后者可能使用.Replace('-',''),但如何在查询中对[Company Name]执行相同的操作?有没有其他替代方法?

请共享您的表和示例数据我喜欢使用join:var query=(来自dt1中的dr1.AsEnumerable()连接dt2中的dr2.AsEnumerable()在dr1.Field(“命名公司”).Replace(“,”)等于dr2.Field(“公司名称”).Replace(“,”)选择new{dr1=dr1,dr2=dr2});例如:datatable dt1可能有一个ABC-XYZ有限公司,datatable dt2可能有与ABC XYZ有限公司相同的公司名称。我希望两者都匹配。@jdweng:我不想加入表,只想检查条件和其他一些操作。代码不加入表。只需在两个表之间创建一个映射,以便您可以检查条件。请共享您的表和示例数据。我喜欢使用join:var query=(来自dt1中的dr1.AsEnumerable()连接dt2中的dr2.AsEnumerable()连接dr1.Field(“命名公司”).Replace(“,”)等于dr2.Field(“公司名称”).Replace(“,”)选择new{dr1=dr1,dr2=dr2});例如:datatable dt1可能有一个ABC-XYZ有限公司,datatable dt2可能有与ABC XYZ有限公司相同的公司名称。我希望两者都匹配。@jdweng:我不想加入表,只想检查条件和其他一些操作。代码不加入表。只需在两个表之间创建一个映射,以便检查条件。