2012-06-15 120 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