根据列表检查数据表列
本文关键字:数据表 检查 列表 | 更新日期: 2023-09-27 18:34:03
假设我有一个值列表。(目前在一张纸上,但这可能是列表或您建议的任何内容)。
如下:
Name,
Type,
Phone,
Contract,
Remark
现在我有一个从文件导入的数据表。我需要检查数据表是否包含列表中相同的列。(所以我的数据表应该有 5 列Name, Type, Phone, Contract, Remark).
我想检查无论位置如何,但如果保持列的位置更快,我更喜欢更快的解决方案。我知道你可以像这样的事情
Foreach column in datatable
if columnname exist in list and ListSize ==Datatable.Columns.Count then
continue
else
return false`.
但我想要一个更快的解决方案。
查找值的最快方法是使用哈希表。在这种情况下,我建议HashSet<T>
var requiredColumns = new HashSet<string>
{ "Name", "Type", "Phone", "Contract", "Remark" };
if (datatable.Columns.Count != requiredColumns.Count) {
Console.WriteLine("Number of columns does not match!");
} else {
for (int i = 0; i < datatable.Columns.Count; i++) {
string colname = datatable.Columns[i].Name;
if (!requiredColumns.Contains(colname)) {
Console.WriteLine("Unknown column [{0}]", colname);
}
}
}