C#如何获取字典的第一个元素并移动到另一个

C#如何获取字典的第一个元素并移动到另一个,c#,C#,我正在制作一个有两本字典的程序 排队玩 我想从队列中获取第一个元素,并在播放为空时移动到播放 我唯一的代码是 if(Playing.Count==0){} 我能做到吗 PS:播放和队列都需要一个int和一个player,player是定义的,int是player ID 编辑 代码示例: public static Dictionary<int, player> queue = new Dictionary<int, player>(); public static Dic

我正在制作一个有两本字典的程序 排队玩

我想从队列中获取第一个元素,并在播放为空时移动到播放 我唯一的代码是
if(Playing.Count==0){}
我能做到吗

PS:播放和队列都需要一个int和一个player,player是定义的,int是player ID

编辑

代码示例:

public static Dictionary<int, player> queue = new Dictionary<int, player>();
public static Dictionary<int, player> Playing = new Dictionary<int, 
player>();

if (Regex.IsMatch(m.GetString(1).Substring(0, 1), @"\.|\!|\?|\-|\+"))
{
    var cmdprefix = m.GetString(1).Substring(0, 1); //Set the command prefix
    var words = m.GetString(1).ToLower().Split(' '); //Split the spacebar into words.

    if (words[0].StartsWith(cmdprefix + "queue")); //If words starts with the prefix and "queue"
    {
        queue.Add(m.GetInt(0), new player()
        {
            username = m.GetString(1), //Nickname of player
        });
    }

    if(Playing.Count == 0)
    {
    }
}    
公共静态字典队列=新建字典();
公共静态字典播放=新建字典();
if(Regex.IsMatch(m.GetString(1).Substring(0,1),@“\.\124;\!\ 124;\?\ 124;\-\ 124;\+”)
{
var cmdprefix=m.GetString(1).Substring(0,1);//设置命令前缀
var words=m.GetString(1.ToLower().Split(“”);//将空格键拆分为单词。
if(单词[0].StartsWith(cmdprefix+“queue”);//如果单词以前缀和“queue”开头
{
添加(m.GetInt(0),新播放器()
{
username=m.GetString(1),//玩家的昵称
});
}
如果(Playing.Count==0)
{
}
}    

我相信我已经用下面的代码回答了您的问题。诀窍在于,一个


还要注意@papazzo和@Eser的评论,这是一个错误的选择,或者应该更好。

你能展示一下你的代码吗?如何在字典中插入元素,如何从字典中删除元素,尝试用谷歌搜索,这比问你自己的问题容易得多,互联网上甚至stackoverflow上都有关于这个主题的量子答案。。。阅读:它不太适合,我正在尝试获取第一个并移动它,而不是删除,再加上玩家ID,当它加入字典时是不符合顺序的。字典中没有第一个。看看队列。这是一些奇怪的格式。@Sport Dictionary不能保证元素的顺序。所以没有第一个元素。下次提问时,不能将其用作队列/列表/阵列;尽量不要用
m
、各种
GetString
和Regex干扰关于这个问题的代码。你的问题写得越清楚,你得到的答案就会越快越好。花半个小时写这个问题是不可反对的。此外,如果你花大量时间写问题,你可能会自己解决问题,同时学习编程问题解决。快乐的黑客!M是一条信息,我需要从queue@Sport在所有的友好中,你没有抓住我的重点。无论
m
是什么,它都不会给这个问题带来任何价值;相反,它让你的问题变得复杂,让你更难阅读。这将导致否决票和更少的答案。嗯。
if(Playing.Count == 0)
{
    Playing.Add(
        m.GetInt(0), 
        new player{ username = m.GetString(1)
    }
    queue.Remove(m.GetInt(0);
}