您可以Guid在类中添加一个属性,并在构造函数中初始化它(保证每个实例都是唯一的).
只是为了补充Henk在答案中所说的内容GetHashCode,并减轻他在答案中收到的一些负面评论:
有一种方法叫GetHashCode上任何无关该对象的价值,无论它的类型是否已覆盖对象GetHashCode.
看看System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode.
当然,这个值不保证是唯一的.也不是Guid(虽然不是唯一的将涉及合法微观的几率).
我会说你的直觉是关于静态计数器变量的.但是,我应该提一下,++在每个对象的构造函数中使用运算符简单地递增它不是线程安全的.如果可能的话,您可以从多个线程中实例化一个类的实例,Interlocked.Increment而不是想要使用它.
| 归档时间: |
|
| 查看次数: |
2517 次 |
| 最近记录: |