我遇到了一種情況,即通過連接數字ID號和創建唯一值的字符串值創建密鑰。c#字典鍵開頭的數字值是否可以提高查找性能?
它在字典工作方式或哈希表密度方面有所不同,或者如果數字是第一個字符串或字符串是第一個鍵本身是字符串,是否會影響性能?
例如:
Dictionary<string, bool> dict = new Dictionary<string, bool>();
dict.Add(integerValue + "-" + stringValue, true);
OR
Dictionary<string, bool> dict = new Dictionary<string, bool>();
dict.Add(stringValue + "-" + integerValue, true);
如果您想知道更改是否會使您的程序更快,請進行更改,**運行**,然後您就會知道。 –
是的,我試過了,我找不到一個可以忽略的區別,我正在尋找更深入的瞭解任何潛在的差異,因爲c#的內部沒有如何改善它。 –
我會想象它沒有任何區別,因爲它仍然會導致基本相同的哈希計算,所以沒有真正的性能改進,但我沒有真正的線索 - 因此將它僅作爲註釋使用。 –