0

我有如下数据表。这里不允许第 2、3、4、5 行。我如何使用 C# 验证这种情况。请帮忙。这里的列数不是固定的。


  A             B             C
  A             B             C
  A             B             
  A                           C
                B             C
  A             B             B
  B             B             C
  A             C             B
4

1 回答 1

1

C# 与 LinQ

此函数消除列中的重复值和空值。如果您要查找的不是 null,那么您只需将“DBNull”更改为您想要的。

public static DataTable FilterDataTable(DataTable table) 
    {
        // Erase duplicates
        DataView dv = new DataView(table);
        table = dv.ToTable(true, table.Columns.Cast<DataColumn>().Select(x => x.ColumnName).ToArray()); 

        // Get Null values
        List<DataRow> toErase = new List<DataRow>();
        foreach (DataRow item in table.Rows)            
            for (int i = 0; i < item.ItemArray.Length; i++)
            {
                if (item.ItemArray[i].GetType().Name == "DBNull")
                { toErase.Add(item); break; }

            }            
        //Erase Null Values
        foreach (DataRow item in toErase)            
            table.Rows.Remove(item);

        return table;            
    }
于 2012-12-16T06:47:16.943 回答