Trouver les Doublons C#

Je suis nouveau en programmation donc cela peut sembler un peu simple, mais je n'arrive pas à le comprendre.

Je suis en train d'essayer de trouver des doublons qui sont dans un datatable dans une colonne de valeurs.

Voici ce que j'essayais de faire avec.

DataRow[] dupresults = dt.Select("PROV_NEW");
TableIssues = string.Empty;
DataTable dtTemp = dt.DefaultView.ToTable(true, "NEW_PROV");

if (dupresults.Length == 0)
{
    return true;
}
else
{
    foreach (DataRow item in dupresults)
    {
        Console.WriteLine(item[1]);
        TableIssues += "Provider Code is not unique for " + item[1].ToString() + ". Revise non-unique codes.\r\n\n\n\n";
    }
    return false;
}

Bien, mais je suis aussi de l'avoir afin de s'assurer qu'il n'existe pas de champs vides dans PROV_NEW trop. donc je ne sais pas où mettre ça. Je suis très novice en c#. Je viens de commencé la semaine dernière. Je suis en train de faire des projets côté de l'entreprise de mon père.

private bool ValidateTable(DataSets.Setup.SETUP_MWPROVDataTable dt, out string TableIssues)
{
try
{
//NewCode not used for other row
DataRow[] result = dt.Select("PROV_NEW = ''");
DataRow[] dupresults = dt.Select("PROV_NEW");
TableIssues = string.Empty;
DataTable dtTemp = dt.DefaultView.ToTable(true, "NEW_PROV");
if (dupresults.Length == 0)
{
return true;
}
else
{
var duplicates = dt.AsEnumerable()
.Select(dr => dr.Field<string>("PROV_NEW"))
.GroupBy(x => x)
.Where(g => g.Count() > 1)
.Select(g => g.Key)
.ToList();
foreach (DataRow item in dupresults)
{
Console.WriteLine(item[1]);
TableIssues += "Provider Code is not unique for " + item[1].ToString() + ". Revise non-unique codes.\r\n\n\n\n";
}
return false;
}
if (result.Length == 0)
{
//TODO: Add Next Step for validation
return true;
}
else
{
foreach (DataRow item in result)
{
Console.WriteLine(item[1]);
TableIssues += "Provider code " + item[1].ToString() + " is blank. Add new Provider code for " + item[1].ToString() +".\r\n\n\n";
}
return false;
}
}
catch (Exception)
{
throw;
}
}
}
Merci de ne pas concaténer des chaînes de caractères dans une boucle. Utiliser un StringBuilder. C'est peut-être pas indispensable pour ce premier projet, mais c'est une bonne habitude à prendre.
Ce qui ne fonctionne pas? Êtes-vous une erreur?
Je reçois un message d'erreur qui dit: "expression de Filtre 'PROV_NEW" ne pas correspondre à une valeur Booléenne terme." Donc, je ne sais pas vraiment ce qui s'y passe

OriginalL'auteur Kobrien | 2012-05-29