0
我有像下面的數據表。這裏第2,3,4,5行是不允許的。我如何使用C#驗證此場景。請幫忙。這裏的列數不固定。使用C在數據表中複製行檢查#
A B C
A B C
A B
A C
B C
A B B
B B C
A C B
我有像下面的數據表。這裏第2,3,4,5行是不允許的。我如何使用C#驗證此場景。請幫忙。這裏的列數不固定。使用C在數據表中複製行檢查#
A B C
A B C
A B
A C
B C
A B B
B B C
A C B
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;
}
你能解釋一下,爲什麼第2行? –
我試着循環遍歷每一行,並用一些特殊字符串聯值,然後比較這些行。但我希望這種動態的方式,如使用選擇或每個...不想使用特殊字符串聯。要回答爲什麼第2行? 2,3,4,5行應被視爲第1行的重複項(某些業務邏輯)。 – Jayakishor