/// <summary> /// 获取或创建 /// </summary> /// <param name="value"></param> /// <returns></returns> public TimeStatus GetOrCreate(DateTime value) { string key = value.ToString("yyyyMMddHHmmss"); lock (hashtable.SyncRoot) { if (!hashtable.ContainsKey(key)) { //如果总数大于传入的总数 if (hashtable.Count > 0 && hashtable.Count >= maxCount) { var firstKey = hashtable.Keys.Cast <string>().Min(); if (firstKey != null) { hashtable.Remove(firstKey); } } hashtable[key] = new TimeStatus { CounterTime = value }; } } return(hashtable[key] as TimeStatus); }
/// <summary> /// 获取或创建 /// </summary> /// <param name="value"></param> /// <returns></returns> public TimeStatus GetOrCreate(DateTime value) { string key = value.ToString("yyyyMMddHHmmss"); lock (hashtable.SyncRoot) { if (!hashtable.ContainsKey(key)) { //如果总数大于传入的总数 if (hashtable.Count > 0 && hashtable.Count >= maxCount) { var firstKey = hashtable.Keys.Cast<string>().Min(); if (firstKey != null) hashtable.Remove(firstKey); } hashtable[key] = new TimeStatus { CounterTime = value }; } } return hashtable[key] as TimeStatus; }