如何从字典的值列表中获取第一个元素?

How to get first element from Value List of a Dictionary?

我有以下声明,我需要使用键从列表中获取第一个元素。然后将该值再次分配给某个变量后,我需要从该列表中单独删除该值。

Dictionary<string, List<string>> data = new Dictionary<string, List<string>>();

例如:

List<string> teamMembers = new List<string>();
teamMembers.Add("Country1Player1");
teamMembers.Add("Country1Player2");
teamMembers.Add("Country1Player3");
data.Add("Country1",teamMembers);
teamMembers = new List<string>();
teamMembers.Add("Country2Player1");
teamMembers.Add("Country2Player2");
teamMembers.Add("Country2Player3");
data.Add("Country2",teamMembers);

从上面的字典中,我需要 select Country1 的第一个元素 Country1Player1 并分配给某个变量。之后我需要从值列表中单独删除该值。

预期输出: 如果我将密钥作为 'Country1' 传递,那么它应该给我 Country1Player1 并且该值需要从数据字典中删除。键 Country1 的值列表中应仅包含 Country1Player2 和 Country1Player3。

string firstTeamMember = null;
if (data.TryGetValue("Country1", out List<string> list) && list?.Any() == true)
{
    firstTeamMember = list[0];
    list.RemoveAt(0);
}

你可以这样试试:

if(data.TryGetValue("Country1", out var values))
{
    var firstValue = values?.FirstOrDefault();
    data["Country1"] = data["Country1"]?.Skip(1).ToList();
}