How to display case sensitive in datatable

I put some values ​​in a datatable from xml and I have values ​​that are repeated as well as some case sensitive values

ex: Cat, Elephant, Took, Program, Some, PROGRAM, Cat, Dog

so I use one condition like

if (!(FindRow.Rows.Contains(val)))
{
   FindRow.Rows.Add(val);
}

I want my datatable to have both Program, and so Program, and should not have two cat values, but it only accepts oneProgram

+4
source share
1 answer

I see at least two approaches:

  • HashSet<string> , DataTable, . , , .

    var set = new HashSet<string>();
    
    if (!(set.Contains(val.ToLower())))
    {
       FindRow.Rows.Add(val);
       set.Add(val.ToLower());
    }
    
  • LINQ :

    if (!(FindRow.Rows.AsEnumerable().Any(r => r.Field<string>("YourKeyColumnName").ToLower() == val.ToLower())))
    {
       FindRow.Rows.Add(val);
    }
    

    System.Data.DataSetExtensions.dll using System.Data.DataSetExtensions , .

+1