2012-06-15 160 views
0

我想編寫爲緩存對象生成密鑰的方法。 這是我的函數:爲緩存創建密鑰

public static string GenerateKeyForCache(string jobName, params object[] keys) 
     { 
      var generatedKey = keys.Aggregate(string.Empty, (current, key) => current + (key + "-")); 
      return jobName + "-" + new string(generatedKey.Take(generatedKey.Length - 1).ToArray()); 
     } 

此代碼生成緩存鍵,例如我們有以下電話:

CacheUtils.GenerateKeyForCache("JobName", "1","2","3"); 

產生以下主要的方法:"JobName-1-2-3"

這樣做的最佳方法是什麼?

+0

問題是什麼?這是正確的嗎? – Viezevingertjes

+0

什麼緩存存儲?緩存多少?碰撞會發生什麼? – alexn

+0

@MichaelOverhorst:我想聽聽別人怎麼做。 – user1260827

回答

5

爲什麼不只是使用String方法?

public static string GenerateKeyForCache(string jobName, params string[] keys) 
{ 
    return String.Format("{0}-{1}", jobName, String.Join("-", keys)); 
} 

無需AggreagteTake ...

保持它的簡單

+0

是的,它很簡單。謝謝。 – user1260827