我有一本字典:
public ConcurrentDictionary<string, List<IronportServerStatus>> IronportServerStatusDict = new ConcurrentDictionary<string, List<IronportServerStatus>>();
在密钥中有很多主机(字符串)。让我们以此主机abc.def.ghi
为例。在值中有一个IronportServerStatus
列表。
下一步是我要删除值[0]的第一个元素。如果count> = 10。 之后我想添加新状态,我得到所有5分钟。所以最大数量是10。
我收到了List<List<IronportServerStatus>>
并删除了第一项。
之后我添加了一个IronportServerStatus
的新logdata,这也不起作用。
var result = SystemCore.Instance.IronportServerStatusDict.Where(o => o.Key == host.Host).Select(o => o.Value).ToList();
if (result.Count >= 10)
{
result.RemoveAt(0);
}
result.Add(logData);
有人能帮助我吗?
答案:
SystemCore.Instance.IronportServerStatusDict.Where(o => o.Key == host.Host).FirstOrDefault().Value.RemoveAt(0);
SystemCore.Instance.IronportServerStatusDict.Where(o => o.Key == host.Host).FirstOrDefault().Value.Add(logData);
答案 0 :(得分:0)
尝试以下
// Get the list
var result = SystemCore.Instance.IronportServerStatusDict[host.Host];
if (result.Count >= 10)
{
result.RemoveAt(0);
}
result.Add(logData);
Console.WriteLine(SystemCore.Instance.IronportServerStatusDict[host.Host][0]);