gpt4 book ai didi

c# - 检查数据表列的唯一性

转载 作者:太空宇宙 更新时间:2023-11-03 22:48:26 25 4
gpt4 key购买 nike

下面这种判断DataTable中某列是否很慢的方法。是否有任何建议可以更快地检查特定列的唯一性,而无需创建单独的 View ?

var view = new DataView(LoadedDataTable);
var distinctValues = view.ToTable(true, ColID);
if (distinctValues.Rows.Count != LoadedDataTable.Rows.Count)
Messagebox.Show("Column " + ColID + " is not unique.");

更新

可能需要注意的一件事是,我不关心查找重复项,只关心该列是否唯一。 IE。如果找到重复项,它可能会停止搜索。如果这有什么不同的话!

最佳答案

对我来说,一个快速时间测试表明这个解决方案比使用 DataView 和 ToTable 在表中有大约 15000 行要快得多(大约 10 毫秒对 1000 毫秒)。

var values = LoadedDataTable.Rows.Cast<DataRow>()
.Select(r => r[ColID])
.Distinct()
.ToList();
var unique = values.Count == LoadedDataTable.Rows.Count;

关于c# - 检查数据表列的唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48789810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com