我需要在運行時將唯一標識符附加到對象。標識符在應用程序的持續時間內必須是唯一的。我打算這樣做我的對象模型的基類中有一個私有成員變量。該變量將在對象初始化時設置,並且該值將在對象的整個生命週期內保持不變。其他對象在應用程序的持續時間內不能有相同的標識符。在運行時唯一標識對象的選項?
我當然可以使用System.Guid,但每個對象的成本爲128位,我想消耗更少的資源。我嘗試使用Int32並使用System.Environment.TickCount屬性對它進行初始化,但我沒有獲得足夠的分辨率,並且某些對象被分配了相同的值。
TickCounter的文檔說TickCount屬性將在〜29之後滾動到負數,然後在另一個29天內回到零。我會很樂意交換更多的分辨率,以縮短更長的時間。
我還有其他的選擇我不知道嗎?
什麼資源你害怕使用GUID會消耗過多?這句話聽起來有點像不成熟的優化。我會從一個使用GUID的解決方案開始,只有在遇到具體的性能瓶頸時才重新考慮它。 – 2011-01-31 18:02:37
我一直在想這個問題。謝謝大家讓我走上正軌。 – 2011-01-31 18:43:07