C# 从字典中删除值

C# 从字典中删除值,c#,dictionary,C#,Dictionary,我有一本字典: public ConcurrentDictionary<string, List<IronportServerStatus>> IronportServerStatusDict = new ConcurrentDictionary<string, List<IronportServerStatus>>(); 有人能帮我吗 答复: SystemCore.Instance.IronportServerStatusDict.Where(

我有一本字典:

public ConcurrentDictionary<string, List<IronportServerStatus>> IronportServerStatusDict = new ConcurrentDictionary<string, List<IronportServerStatus>>();
有人能帮我吗

答复:

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);
试试下面的方法

// 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]);

你的问题到底是什么?什么不起作用?你说的第一个元素是什么意思?请记住,字典不是按顺序排列的…使用此字典您希望实现什么?也许有更合适的方法来解决你的问题/我知道他们没有。。但是字典里的单子是按顺序排列的。。我想删除值列表中的第一项,如果列表的计数大于10,则添加一个新项。您正在从动态创建列表选择…列表中删除值。将其从real list.SystemCore.Instance.IronportServerStatusDict[host.host].AddlogData中删除;返回{System.NullReferenceException:对象引用未设置为对象的实例。@RamonHämmer该示例是如何执行此操作的基本概述。您似乎没有设置键值。请设置它或检查空值。
// 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]);