private bool IsRowInTable(DataRow drTmp,DataTable dtTmp)
{
  bool blFind=true;
  foreach(DataRow dr in dtTmp.Rows)
  {
    blFind=true;
    for(int i=0;i<dtTmp.Columns.Count;i++)
    {
      if(drTmp[i]!=dr[i])
      {
        blFind=false;
        break;
      }
    }
    if(blFind)
      return true;
  }
  return false;
}private void AddRowToTable(DataRow drTmp,DataTable dtTmp)
{
  DataRow dr=dtTmp.NewRow();
  for(int i=0;i<dtTmp.Columns.Count;i++)
    dr[i]=drTmp[i];
  dtTmp.Rows.Add(dr);
}foreach(DataRow drTmp in a.Rows)
{
  if(IsRowInTable(drTmp,b))
    AddRowToTable(drTmp,c);
}