|
|
1
2
使用散列代码作为唯一标识符是一个非常糟糕的主意,因为如果集合足够大,那么最终肯定会发生冲突——而且在统计上可能发生冲突之前,它不必非常大。如果两个对象是相同的(假设相同的散列函数),那么散列代码是一种很好的快速评估方法-如果它们散列到不同的值,那么它们肯定是不同的。但是,如果它们散列到相同的值,则需要进行相等比较,以确保它们是相同的对象。此时,您需要比较使其唯一的对象的属性,即,如果这些属性相同,则对象相同。 我建议在数据库中使用一个关于自然键属性的唯一索引,并使用一个人工的、自动递增的I d作为主键。然后,您可以确保不会在DB(索引的唯一性约束)中获得重复的插入,但是您可以通过简单地比较DB之外的对象是否具有相同的id(也可以通过主键约束保证其唯一性)来快速比较它们。 |
|
2
2
对。害怕。
|
|
|
3
0
GetHashCode不可靠。 在这方面你有两个选择:
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |